diff options
author | Brett Nawrocki <brett.nawrocki@mongodb.com> | 2022-08-30 15:07:00 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-09-01 16:33:40 +0000 |
commit | 54dfa66ba84af002a0b43d2b7f49e0a8119f6c55 (patch) | |
tree | e997374e3ee6236746ee20655b88d3bcd4899c20 /src/mongo/db/s/sharding_data_transform_instance_metrics_test.cpp | |
parent | 3b8505623b8eba4880d28fb69e5bf1385af58a2b (diff) | |
download | mongo-54dfa66ba84af002a0b43d2b7f49e0a8119f6c55.tar.gz |
SERVER-68783 Disambiguate 0 time estimate from no estimate in resharding
Diffstat (limited to 'src/mongo/db/s/sharding_data_transform_instance_metrics_test.cpp')
-rw-r--r-- | src/mongo/db/s/sharding_data_transform_instance_metrics_test.cpp | 38 |
1 files changed, 27 insertions, 11 deletions
diff --git a/src/mongo/db/s/sharding_data_transform_instance_metrics_test.cpp b/src/mongo/db/s/sharding_data_transform_instance_metrics_test.cpp index f5d4ba2df01..a690d908879 100644 --- a/src/mongo/db/s/sharding_data_transform_instance_metrics_test.cpp +++ b/src/mongo/db/s/sharding_data_transform_instance_metrics_test.cpp @@ -105,8 +105,8 @@ public: std::move(observer)}, _scopedObserver(registerInstanceMetrics()) {} - Milliseconds getRecipientHighEstimateRemainingTimeMillis() const { - return Milliseconds{0}; + boost::optional<Milliseconds> getRecipientHighEstimateRemainingTimeMillis() const { + return boost::none; } private: @@ -325,25 +325,41 @@ TEST_F(ShardingDataTransformInstanceMetricsTest, OnWriteToStasheddShouldIncremen TEST_F(ShardingDataTransformInstanceMetricsTest, SetLowestOperationTimeShouldBeReflectedInCurrentOp) { auto metrics = createInstanceMetrics(UUID::gen(), Role::kCoordinator); - - auto report = metrics->reportForCurrentOp(); - ASSERT_EQ(report.getIntField("allShardsLowestRemainingOperationTimeEstimatedSecs"), 0); metrics->setCoordinatorLowEstimateRemainingTimeMillis(Milliseconds(2000)); - - report = metrics->reportForCurrentOp(); + auto report = metrics->reportForCurrentOp(); ASSERT_EQ(report.getIntField("allShardsLowestRemainingOperationTimeEstimatedSecs"), 2); } TEST_F(ShardingDataTransformInstanceMetricsTest, SetHighestOperationTimeShouldBeReflectedInCurrentOp) { auto metrics = createInstanceMetrics(UUID::gen(), Role::kCoordinator); + metrics->setCoordinatorHighEstimateRemainingTimeMillis(Milliseconds(12000)); + auto report = metrics->reportForCurrentOp(); + ASSERT_EQ(report.getIntField("allShardsHighestRemainingOperationTimeEstimatedSecs"), 12); +} + +TEST_F(ShardingDataTransformInstanceMetricsTest, CoordinatorHighEstimateNoneIfNotSet) { + auto metrics = createInstanceMetrics(UUID::gen(), Role::kCoordinator); + ASSERT_EQ(metrics->getHighEstimateRemainingTimeMillis(), boost::none); +} + +TEST_F(ShardingDataTransformInstanceMetricsTest, CoordinatorLowEstimateNoneIfNotSet) { + auto metrics = createInstanceMetrics(UUID::gen(), Role::kCoordinator); + ASSERT_EQ(metrics->getLowEstimateRemainingTimeMillis(), boost::none); +} +TEST_F(ShardingDataTransformInstanceMetricsTest, + CurrentOpDoesNotReportCoordinatorHighEstimateIfNotSet) { + auto metrics = createInstanceMetrics(UUID::gen(), Role::kCoordinator); auto report = metrics->reportForCurrentOp(); - ASSERT_EQ(report.getIntField("allShardsHighestRemainingOperationTimeEstimatedSecs"), 0); - metrics->setCoordinatorHighEstimateRemainingTimeMillis(Milliseconds(12000)); + ASSERT_FALSE(report.hasField("allShardsHighestRemainingOperationTimeEstimatedSecs")); +} - report = metrics->reportForCurrentOp(); - ASSERT_EQ(report.getIntField("allShardsHighestRemainingOperationTimeEstimatedSecs"), 12); +TEST_F(ShardingDataTransformInstanceMetricsTest, + CurrentOpDoesNotReportCoordinatorLowEstimateIfNotSet) { + auto metrics = createInstanceMetrics(UUID::gen(), Role::kCoordinator); + auto report = metrics->reportForCurrentOp(); + ASSERT_FALSE(report.hasField("allShardsLowestRemainingOperationTimeEstimatedSecs")); } } // namespace |