-
Type: Bug
-
Resolution: Gone away
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Catalog and Routing
-
ALL
-
v8.0, v7.3, v7.0, v6.0, v5.0
-
CAR Team 2024-05-27
ShardCollection, Chunk migration and Resharding clone collection options using listCollections by calling MigrationDestinationManager::cloneCollectionIndexesAndOptions. This omits some collection options that are a part of a collection's catalog entry since listCollections won't return those options. (like timeseriesBucketsMayHaveMixedSchemaData or timeseriesBucketingParametersChanged).
This is problematic because:
If a timeseries collection with timeseriesBucketsMayHaveMixedSchemaData flag, undergoes shard collection/chunk migration/resharding it will clone mixed schema data and will fail with
CannotInsertTimeseriesBucketsWithMixedSchema since it did not copy over the timeseriesBucketsMayHaveMixedSchemaData flag. Similarly failing to have the timeseriesBucketingParametersChanged can return incorrect query results.
We need a general way to transfer these catalog collection options when it's set whenever we clone the collection options for any future options as well.
Additionally there is another option setRequiresTimeseriesExtendedRangeSupport that is only in-memory and is set when the bucket gets written by the timeseries op observers. We should confirm this flag is set correctly on the newer collection/chunk as well.
- depends on
-
SERVER-91195 Provide a generic backportable solution not to miss top-level timeseries collection options
- Closed
- is depended on by
-
SERVER-90002 Investigate resharding failing due to CannotInsertTimeseriesBucketsWithMixedSchema
- Closed
- related to
-
SERVER-90568 movePrimary must clone timeseriesBucketsMayHaveMixedSchemaData catalog option
- Closed
-
SERVER-90899 Metadata consistency checker must look for additional catalog inconsistencies
- Closed
-
SERVER-82235 Make logical initial sync use $listCatalog instead of listDatabases/Collections/Indexes
- Blocked
-
SERVER-90768 Compare output between listCollections and $listCatalog for the same database and verify equivalence in testing
- In Code Review