-
Type: Bug
-
Resolution: Duplicate
-
Priority: Major - P3
-
None
-
Affects Version/s: 5.2.0, 4.2.17, 4.4.10, 5.0.5, 5.1.1
-
Component/s: Sharding
-
None
-
Sharding EMEA
-
ALL
As minor version updates are not implying a change of ownership, it should not be needed to clear the filtering metadata as long as a major version doesn't change.
The current logic is the following: while refreshing, the refreshing flag is set to true and - after updating collection/chunks entries - the field is set to false. An observer is reacting to the "set to false" event by registering a change that on commit causes the filtering metadata to be cleared up.
Objective of this ticket is to avoid clearing the filtering metadata on minor versions updates. The following could be a way to implement the solution:
- "Play" with the refreshing field in a different way:
- Set it to true and then false on major version updates
- Set it to true and then unset on minor version updates
- Change the CollectionVersionLogOpHandler handling of a registered change:
- If the field has been set to false, notify collection update and trigger metadata clearing
- If the field has been unset, only notify collection update (don't clear metadata because data ownership didn't change)
- Handle multiversion incompatibility because old versions are expecting the field to be unset only if the version had never been set on the collection entry.
- duplicates
-
SERVER-67078 Advancing just the minor version on the primary of a shard should not stall the secondaries
- Closed