Operational Defect Database

BugZero found this defect 20 days ago.

MongoDB | 2657241

Time series bucket rollover can leave extra entries in in-memory set

Last update date:

4/30/2024

Affected products:

MongoDB Server

Affected releases:

No affected releases provided.

Fixed releases:

No fixed releases provided.

Description:

Info

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.

Top User Comments


Steps to Reproduce


Additional Resources / Links

Share:

BugZero® Risk Score

What's this?

Coming soon

Status

In Code Review

Learn More

Search:

...