summaryrefslogtreecommitdiff
path: root/jstests/core/timeseries
diff options
context:
space:
mode:
authorDan Larkin-York <dan.larkin-york@mongodb.com>2022-06-14 20:28:47 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-06-14 21:13:04 +0000
commitaac074d9844f61f9a9a44d014987f2da93915a59 (patch)
tree75e143983312bb60f5fa2fac2895c767b57703ca /jstests/core/timeseries
parentf678ddaee2ed81c0bed9f72116135d63a3754e85 (diff)
downloadmongo-aac074d9844f61f9a9a44d014987f2da93915a59.tar.gz
SERVER-66683 Archive eligible buckets instead of closing them
Diffstat (limited to 'jstests/core/timeseries')
-rw-r--r--jstests/core/timeseries/libs/timeseries.js7
-rw-r--r--jstests/core/timeseries/timeseries_bucket_limit_time_range.js13
2 files changed, 17 insertions, 3 deletions
diff --git a/jstests/core/timeseries/libs/timeseries.js b/jstests/core/timeseries/libs/timeseries.js
index ea8d71c87a1..34465117a53 100644
--- a/jstests/core/timeseries/libs/timeseries.js
+++ b/jstests/core/timeseries/libs/timeseries.js
@@ -12,6 +12,13 @@ var TimeseriesTest = class {
}
/**
+ * Returns whether time-series scalability improvements (like bucket reopening) are enabled.
+ */
+ static timeseriesScalabilityImprovementsEnabled(conn) {
+ return FeatureFlagUtil.isEnabled(conn, "TimeseriesScalabilityImprovements");
+ }
+
+ /**
* Returns whether time-series updates and deletes are supported.
*/
static timeseriesUpdatesAndDeletesEnabled(conn) {
diff --git a/jstests/core/timeseries/timeseries_bucket_limit_time_range.js b/jstests/core/timeseries/timeseries_bucket_limit_time_range.js
index dfe5266ddf8..71949def50e 100644
--- a/jstests/core/timeseries/timeseries_bucket_limit_time_range.js
+++ b/jstests/core/timeseries/timeseries_bucket_limit_time_range.js
@@ -13,6 +13,8 @@ load("jstests/core/timeseries/libs/timeseries.js"); // For 'TimeseriesTest'.
TimeseriesTest.run((insert) => {
const isTimeseriesBucketCompressionEnabled =
TimeseriesTest.timeseriesBucketCompressionEnabled(db);
+ const isTimeseriesScalabilityImprovmentsEnabled =
+ TimeseriesTest.timeseriesScalabilityImprovementsEnabled(db);
const collNamePrefix = 'timeseries_bucket_limit_time_range_';
@@ -84,9 +86,14 @@ TimeseriesTest.run((insert) => {
assert.eq(docTimes[2],
bucketDocs[0].control.max[timeFieldName],
'invalid control.max for time in first bucket: ' + tojson(bucketDocs[0].control));
- assert.eq(isTimeseriesBucketCompressionEnabled ? 2 : 1,
- bucketDocs[0].control.version,
- 'unexpected control.version in first bucket: ' + tojson(bucketDocs));
+ if (!isTimeseriesScalabilityImprovmentsEnabled) { // If enabled, we will archive instead of
+ // closing, but another simultaneous
+ // operation may close it in the
+ // background.
+ assert.eq(isTimeseriesBucketCompressionEnabled ? 2 : 1,
+ bucketDocs[0].control.version,
+ 'unexpected control.version in first bucket: ' + tojson(bucketDocs));
+ }
// Second bucket should contain the remaining document.
assert.eq(numDocs - 1,