-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: 7.2.0-rc0, 7.0.2, 7.1.0
-
Component/s: None
-
None
-
Catalog and Routing
-
ALL
-
Sharding EMEA 2023-10-30
-
2
-
None
-
3
-
None
-
None
-
None
-
None
-
None
-
None
The _maxHistoryTimeCurrentRound variable supposed to drive auto-merging scanning is never updated due to a variable shadowing that was committed involuntarily.
This is not a correctness bug since it results in "simply" forcing the auto-merger to unnecessarily scan through chunks already inspected in previous rounds.
Purpose of this ticket is to understand whether it makes sense to fix this bug or just get rid of the variable: fixing this performance bug would mean introducing a correctness bug since the auto-merger would skip scanning chunks that were split without being migrated. The side effect would be produced by this query that only returns chunks result of a migration (splits don't change onCurrentShardSince).
Other options would be:
- Force a reset of _maxHistoryTimePreviousRound when a split happens
- Or - more fine grained - keep a _maxHistoryTimePreviousRound per collection and just reset it for collections that undergo some split