summaryrefslogtreecommitdiff
path: root/src/mongo/db/s/sharding_data_transform_instance_metrics_test.cpp
diff options
context:
space:
mode:
authorBrett Nawrocki <brett.nawrocki@mongodb.com>2022-08-30 15:07:00 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-09-01 16:33:40 +0000
commit54dfa66ba84af002a0b43d2b7f49e0a8119f6c55 (patch)
treee997374e3ee6236746ee20655b88d3bcd4899c20 /src/mongo/db/s/sharding_data_transform_instance_metrics_test.cpp
parent3b8505623b8eba4880d28fb69e5bf1385af58a2b (diff)
downloadmongo-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.cpp38
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