diff options
| author | Lucas de Castro Borges <lucas@gnuabordo.com.br> | 2025-02-18 17:02:53 -0300 |
|---|---|---|
| committer | Lucas de Castro Borges <lucas@gnuabordo.com.br> | 2025-02-18 17:02:53 -0300 |
| commit | 959575a5ca598bf5f37fb5cebe7ed1d80d3d71f7 (patch) | |
| tree | acc8d60aedb12b70048e676e8a7349deb0010db8 /src/mongo/db/curop_test.cpp | |
| parent | 76588293975fc059cf076779e4283e6ffaf8afff (diff) | |
New upstream version 6.0.20upstream
Diffstat (limited to 'src/mongo/db/curop_test.cpp')
| -rw-r--r-- | src/mongo/db/curop_test.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/mongo/db/curop_test.cpp b/src/mongo/db/curop_test.cpp index 332e7d9042e..af327f05482 100644 --- a/src/mongo/db/curop_test.cpp +++ b/src/mongo/db/curop_test.cpp @@ -67,6 +67,10 @@ TEST(CurOpTest, AddingAdditiveMetricsObjectsTogetherShouldAddFieldsTogether) { additiveMetricsToAdd.docsExamined = 2; currentAdditiveMetrics.nMatched = 5; additiveMetricsToAdd.nMatched = 5; + currentAdditiveMetrics.nreturned = 10; + additiveMetricsToAdd.nreturned = 5; + currentAdditiveMetrics.nBatches = 2; + additiveMetricsToAdd.nBatches = 1; currentAdditiveMetrics.nModified = 3; additiveMetricsToAdd.nModified = 1; currentAdditiveMetrics.ninserted = 4; @@ -79,6 +83,8 @@ TEST(CurOpTest, AddingAdditiveMetricsObjectsTogetherShouldAddFieldsTogether) { additiveMetricsToAdd.keysInserted = 5; currentAdditiveMetrics.keysDeleted = 4; additiveMetricsToAdd.keysDeleted = 2; + currentAdditiveMetrics.executionTime = Microseconds{200}; + additiveMetricsToAdd.executionTime = Microseconds{80}; currentAdditiveMetrics.prepareReadConflicts.store(1); additiveMetricsToAdd.prepareReadConflicts.store(5); currentAdditiveMetrics.writeConflicts.store(7); @@ -96,6 +102,10 @@ TEST(CurOpTest, AddingAdditiveMetricsObjectsTogetherShouldAddFieldsTogether) { *additiveMetricsBeforeAdd.docsExamined + *additiveMetricsToAdd.docsExamined); ASSERT_EQ(*currentAdditiveMetrics.nMatched, *additiveMetricsBeforeAdd.nMatched + *additiveMetricsToAdd.nMatched); + ASSERT_EQ(*currentAdditiveMetrics.nreturned, + *additiveMetricsBeforeAdd.nreturned + *additiveMetricsToAdd.nreturned); + ASSERT_EQ(*currentAdditiveMetrics.nBatches, + *additiveMetricsBeforeAdd.nBatches + *additiveMetricsToAdd.nBatches); ASSERT_EQ(*currentAdditiveMetrics.nModified, *additiveMetricsBeforeAdd.nModified + *additiveMetricsToAdd.nModified); ASSERT_EQ(*currentAdditiveMetrics.ninserted, @@ -108,6 +118,8 @@ TEST(CurOpTest, AddingAdditiveMetricsObjectsTogetherShouldAddFieldsTogether) { *additiveMetricsBeforeAdd.keysInserted + *additiveMetricsToAdd.keysInserted); ASSERT_EQ(*currentAdditiveMetrics.keysDeleted, *additiveMetricsBeforeAdd.keysDeleted + *additiveMetricsToAdd.keysDeleted); + ASSERT_EQ(*currentAdditiveMetrics.executionTime, + *additiveMetricsBeforeAdd.executionTime + *additiveMetricsToAdd.executionTime); ASSERT_EQ(currentAdditiveMetrics.prepareReadConflicts.load(), additiveMetricsBeforeAdd.prepareReadConflicts.load() + additiveMetricsToAdd.prepareReadConflicts.load()); @@ -123,6 +135,8 @@ TEST(CurOpTest, AddingUninitializedAdditiveMetricsFieldsShouldBeTreatedAsZero) { // Initialize field values for both AdditiveMetrics objects. additiveMetricsToAdd.keysExamined = 5; currentAdditiveMetrics.docsExamined = 4; + currentAdditiveMetrics.nreturned = 2; + additiveMetricsToAdd.nBatches = 1; currentAdditiveMetrics.nModified = 3; additiveMetricsToAdd.ninserted = 0; currentAdditiveMetrics.keysInserted = 6; @@ -147,6 +161,14 @@ TEST(CurOpTest, AddingUninitializedAdditiveMetricsFieldsShouldBeTreatedAsZero) { // should be treated as zero. ASSERT_EQ(*currentAdditiveMetrics.docsExamined, *additiveMetricsBeforeAdd.docsExamined); + // The 'nreturned' field for the AdditiveMetrics object to add was not initialized, so it + // should be treated as zero. + ASSERT_EQ(*currentAdditiveMetrics.nreturned, *additiveMetricsBeforeAdd.nreturned); + + // The 'nBatches' field for the current AdditiveMetrics object was not initialized, so it + // should be treated as zero. + ASSERT_EQ(*currentAdditiveMetrics.nBatches, *additiveMetricsToAdd.nBatches); + // The 'nMatched' field for both the current AdditiveMetrics object and the AdditiveMetrics // object to add were not initialized, so nMatched should still be uninitialized after the add. ASSERT_EQ(currentAdditiveMetrics.nMatched, boost::none); @@ -155,6 +177,11 @@ TEST(CurOpTest, AddingUninitializedAdditiveMetricsFieldsShouldBeTreatedAsZero) { // object to add were not initialized, so nUpserted should still be uninitialized after the add. ASSERT_EQ(currentAdditiveMetrics.nUpserted, boost::none); + // The 'executionTime' field for both the current AdditiveMetrics object and the AdditiveMetrics + // object to add were not initialized, so executionTime should still be uninitialized after the + // add. + ASSERT_EQ(currentAdditiveMetrics.executionTime, boost::none); + // The following field values should have changed after adding. ASSERT_EQ(*currentAdditiveMetrics.keysInserted, *additiveMetricsBeforeAdd.keysInserted + *additiveMetricsToAdd.keysInserted); @@ -175,6 +202,8 @@ TEST(CurOpTest, AdditiveMetricsFieldsShouldIncrementByN) { additiveMetrics.writeConflicts.store(1); additiveMetrics.keysInserted = 2; additiveMetrics.prepareReadConflicts.store(6); + additiveMetrics.nreturned = 3; + additiveMetrics.executionTime = Microseconds{160}; // Increment the fields. additiveMetrics.incrementWriteConflicts(1); @@ -183,6 +212,9 @@ TEST(CurOpTest, AdditiveMetricsFieldsShouldIncrementByN) { additiveMetrics.incrementNinserted(3); additiveMetrics.incrementNUpserted(6); additiveMetrics.incrementPrepareReadConflicts(2); + additiveMetrics.incrementNreturned(2); + additiveMetrics.incrementNBatches(); + additiveMetrics.incrementExecutionTime(Microseconds{120}); ASSERT_EQ(additiveMetrics.writeConflicts.load(), 2); ASSERT_EQ(*additiveMetrics.keysInserted, 7); @@ -190,6 +222,9 @@ TEST(CurOpTest, AdditiveMetricsFieldsShouldIncrementByN) { ASSERT_EQ(*additiveMetrics.ninserted, 3); ASSERT_EQ(*additiveMetrics.nUpserted, 6); ASSERT_EQ(additiveMetrics.prepareReadConflicts.load(), 8); + ASSERT_EQ(*additiveMetrics.nreturned, 5); + ASSERT_EQ(*additiveMetrics.nBatches, 1); + ASSERT_EQ(*additiveMetrics.executionTime, Microseconds{280}); } TEST(CurOpTest, OptionalAdditiveMetricsNotDisplayedIfUninitialized) { |
