summaryrefslogtreecommitdiff
path: root/jstests/core/timeseries/timeseries_bucket_limit_count.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/core/timeseries/timeseries_bucket_limit_count.js')
-rw-r--r--jstests/core/timeseries/timeseries_bucket_limit_count.js29
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);