diff options
author | Dan Larkin-York <dan.larkin-york@mongodb.com> | 2022-06-14 20:28:47 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-06-14 21:13:04 +0000 |
commit | aac074d9844f61f9a9a44d014987f2da93915a59 (patch) | |
tree | 75e143983312bb60f5fa2fac2895c767b57703ca /jstests/core/timeseries | |
parent | f678ddaee2ed81c0bed9f72116135d63a3754e85 (diff) | |
download | mongo-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.js | 7 | ||||
-rw-r--r-- | jstests/core/timeseries/timeseries_bucket_limit_time_range.js | 13 |
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, |