-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Storage Execution
-
Fully Compatible
-
ALL
-
v8.0, v7.3, v7.0
-
Execution Team 2024-05-13, Execution Team 2024-05-27, Execution Team 2024-06-10, Execution Team 2024-06-24, Execution Team 2024-07-08, Execution Team 2024-07-22, Execution Team 2024-08-05, Execution Team 2024-08-19, Execution Team 2024-09-16, Execution Team 2024-09-30, Execution Team 2024-10-14, Execution Team 2024-10-28, Execution Team 2024-11-11, Execution Team 2024-11-25
-
200
When multiple threads are writing measurements with the same metaField value, the bucket catalog may maintain multiple buckets open in the in-memory set temporarily as a working set. It's supposed to be the case that all but one of these buckets is pending closure once the staged measurements are committed. However, under certain circumstances it's possible that we will open a new bucket without properly rolling over the open bucket, leading to multiple buckets in the set not marked as pending closure.
While this does not cause any risk to correctness, it can hurt performance considerably for impacted workloads. While the direct effect of having a somewhat larger in-memory set is typically fairly minor, it can lead us to incorrectly attempt a query-based reopening and find a bucket which is already open, effectively wasting a significant amount of work.
- is depended on by
-
SERVER-89262 Introduce bucket_catalog::insertBatch method that accepts a number of measurements with matching metaField values
- Open
-
SERVER-95886 Provide meaningful grouping of time-series write APIs
- Open
- is related to
-
SERVER-87834 Investigate potential time-series insert performance issues from query-based reopening
- Open