diff options
Diffstat (limited to 'jstests/core/timeseries/timeseries_bucket_limit_count.js')
-rw-r--r-- | jstests/core/timeseries/timeseries_bucket_limit_count.js | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/jstests/core/timeseries/timeseries_bucket_limit_count.js b/jstests/core/timeseries/timeseries_bucket_limit_count.js index 70a44099e38..8234e247e06 100644 --- a/jstests/core/timeseries/timeseries_bucket_limit_count.js +++ b/jstests/core/timeseries/timeseries_bucket_limit_count.js @@ -1,10 +1,13 @@ /** * Tests maximum number of measurements held in each bucket in a time-series buckets collection. * @tags: [ + * # This test depends on certain writes ending up in the same bucket. Stepdowns may result in + * # writes splitting between two primaries, and thus different buckets. * does_not_support_stepdowns, + * # Same goes for tenant migrations. + * tenant_migration_incompatible, * does_not_support_transactions, - * requires_getmore, - * requires_fcv_52, + * requires_collstats, * ] */ (function() { @@ -15,6 +18,8 @@ load("jstests/core/timeseries/libs/timeseries.js"); // For 'TimeseriesTest'. TimeseriesTest.run((insert) => { const isTimeseriesBucketCompressionEnabled = TimeseriesTest.timeseriesBucketCompressionEnabled(db); + const areTimeseriesScalabilityImprovementsEnabled = + TimeseriesTest.timeseriesScalabilityImprovementsEnabled(db); const collNamePrefix = 'timeseries_bucket_limit_count_'; @@ -75,6 +80,15 @@ TimeseriesTest.run((insert) => { bucketDocs[0].control.version, 'unexpected control.version in first bucket: ' + tojson(bucketDocs)); + if (areTimeseriesScalabilityImprovementsEnabled) { + assert.eq(true, + bucketDocs[0].control.closed, + 'unexpected control.closed in first bucket: ' + tojson(bucketDocs)); + } else { + assert(!bucketDocs[0].control.hasOwnProperty("closed"), + 'unexpected control.closed in first bucket: ' + tojson(bucketDocs)); + } + // Second bucket should contain the remaining documents. assert.eq(bucketMaxCount, bucketDocs[1].control.min._id, @@ -90,7 +104,16 @@ TimeseriesTest.run((insert) => { 'invalid control.max for x in second bucket: ' + tojson(bucketDocs)); assert.eq(1, bucketDocs[1].control.version, - 'unexpected control.version in first bucket: ' + tojson(bucketDocs)); + 'unexpected control.version in second bucket: ' + tojson(bucketDocs)); + + if (areTimeseriesScalabilityImprovementsEnabled) { + assert.eq(false, + bucketDocs[1].control.closed, + 'unexpected control.closed in second bucket: ' + tojson(bucketDocs)); + } else { + assert(!bucketDocs[1].control.hasOwnProperty("closed"), + 'unexpected control.closed in second bucket: ' + tojson(bucketDocs)); + } }; runTest(1); |