-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Fully Compatible
-
ALL
-
Sharding EMEA 2022-12-26, Sharding EMEA 2023-01-09, Sharding EMEA 2023-01-23
ShardingCatalogManager::updateTimeSeriesGranularity calls bumpMajorVersionOneChunkPerShard, which was originally meant to be called with the _kChunkOpLock held. This is needed because bumpMajorVersionOneChunkPerShard will need to compute a new updated collectionVersion, so this requires serializing with any other possible update the collection version. However, updateTimeSeriesGranularity is not taking _kChunkOpLock.
This ticket is to take _kChunksOpLock in updateTimeSeriesGranularity and also to add a comment on bumpMajorVersionOneChunkPerShard's declaration noting that it requires that lock to be held. Additionally, we could add an invariant that the lock is held.
- is caused by
-
SERVER-61028 Implement granularity update for timeseries collection
- Closed