-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: 4.7.0
-
Component/s: Sharding
-
Fully Compatible
-
ALL
-
Sharding 2020-09-21, Sharding 2020-10-05
-
0
Suppose that we set a shard stale on a cached collection entry and then we try to advance the time for that entry with an older version w.r.t. the one already cached.
Until another advance time or invalidation will be called for that specific entry, it will remain with a shard marked as stale but won't be refreshed because it is already at the latest known version.
To fix this we need to ensure that shards on a cached collection entry are marked stale only if we are sure that a lookup will be triggered at the next access. In order to enforce this, we can make the advanceTimeInStore return a boolean that indicates if the time has been actually advanced or not, and then use this boolean to conditionally mark the shard as stale.
- is caused by
-
SERVER-46199 Implement collection cache on top of ReadThroughCache to make it causally consistent
- Closed