SERVER-112329 Improve closed bucket testing (#44400)

GitOrigin-RevId: c26bb766e9280f8e9208225e4fe3003e4424b6b9
This commit is contained in:
Binh Vo 2025-12-02 12:50:20 -05:00 committed by MongoDB Bot
parent 9937bbb0b4
commit 2ec698799c
1 changed files with 48 additions and 0 deletions

View File

@ -51,4 +51,52 @@ TimeseriesTest.run((insert) => {
assert.commandWorked(coll.deleteMany({"meta": {$eq: "a"}})); assert.commandWorked(coll.deleteMany({"meta": {$eq: "a"}}));
assert.eq(2, coll.find({"meta": "a"}).toArray().length); assert.eq(2, coll.find({"meta": "a"}).toArray().length);
assert.eq(0, coll.find({"meta": "b"}).toArray().length); assert.eq(0, coll.find({"meta": "b"}).toArray().length);
// populate three closed buckets
docs = [
{_id: 2, time: ISODate("2020-11-26T00:20:00.000Z"), meta: "a", x: 20},
{_id: 3, time: ISODate("2020-11-26T00:30:00.000Z"), meta: "a", x: 30},
];
assert.commandWorked(insert(coll, docs), "failed to insert docs: " + tojson(docs));
getTimeseriesCollForRawOps(coll).findAndModify({
query: {"meta": "a"},
update: {$set: {"control.closed": true}},
...kRawOperationSpec,
});
docs = [
{_id: 4, time: ISODate("2020-11-26T00:40:00.000Z"), meta: "a", x: 40},
{_id: 5, time: ISODate("2020-11-26T00:50:00.000Z"), meta: "a", x: 50},
];
assert.commandWorked(insert(coll, docs), "failed to insert docs: " + tojson(docs));
getTimeseriesCollForRawOps(coll).findAndModify({
query: {"meta": "a"},
update: {$set: {"control.closed": true}},
...kRawOperationSpec,
});
assert.eq(6, coll.find({"meta": "a"}).toArray().length);
assert.eq(0, coll.find({"meta": "b"}).toArray().length);
// should delete the bucket in rawData mode
assert.commandWorked(
getTimeseriesCollForRawOps(coll).deleteOne(
{
"meta": "a",
},
kRawOperationSpec,
),
);
assert.eq(4, coll.find({"meta": "a"}).toArray().length);
assert.eq(1, coll.stats().timeseries.bucketCount, coll.stats().timeseries);
assert.eq(0, coll.find({"meta": "b"}).toArray().length);
assert.commandWorked(
getTimeseriesCollForRawOps(coll).deleteMany(
{
"meta": "a",
},
kRawOperationSpec,
),
);
assert.eq(0, coll.find({"meta": "a"}).toArray().length);
assert.eq(0, coll.stats().timeseries.bucketCount);
assert.eq(0, coll.find({"meta": "b"}).toArray().length);
}); });