-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: 8.1.0-rc0
-
Component/s: None
-
Catalog and Routing
-
ALL
Some time-series query optimizations can only be performed with fixed buckets, i.e. if bucket granularity has never been changed via collMod. SERVER-79271 added a BucketingParametersHaveChanged flag to the collection catalog which tracks whether the bucket granularity has ever changed. Once the TSBucketingParametersUnchanged feature flag is enabled, the flag should be initialized to false for new collections to indicate fixed buckets.
In SERVER-91193, it was discovered that the original md.timeseriesBucketingParametersHaveChanged catalog flag is lost under some circumstances, and as a workaround disabled fixed bucket optimization. SERVER-91195 provided a durable placement of the flag in md.options.storageEngine.wiredTiger.configString, however, fixed bucket optimizations still remains disabled as of today.
While removing the problematic md.timeseriesBucketingParametersHaveChanged flag in SERVER-91231, it was found that the new flag in md.options.storageEngine.wiredTiger.configString is not initialized to false on new collections, which is required for fixed bucket optimization to work reliably. At the same time, initializing it is non-trivial as it changes the listCollections output it needs to be normalized when comparing collection options to ensure createCollection idempotency.
For fixed bucketing optimization to work, the BucketingParametersHaveChanged flag in md.options.storageEngine.wiredTiger.configString should be initialized to false on collection creation and those problems noted should be handled. Alternatively, this ticket may be closed if SERVER-92265 is done first.
- depends on
-
SERVER-92265 Provide a reliable way to persist additional catalog options rather than using the configString workaround
-
- Backlog
-
- is depended on by
-
SERVER-96993 Reenable time-series fixed bucket optimizations
-
- Blocked
-
- related to
-
SERVER-91231 Get rid of md.timeseriesBucketingParametersHaveChanged for avoiding confusion/misuses
-
- Blocked
-