diff options
author | A. Jesse Jiryu Davis <jesse@mongodb.com> | 2019-08-30 18:25:22 +0000 |
---|---|---|
committer | evergreen <evergreen@mongodb.com> | 2019-08-30 18:25:22 +0000 |
commit | fca8f46ebfb94eebb5784ab54eb4bb774101e947 (patch) | |
tree | 87c93b1299e3150a29ee49bf14b0fea9b179aea9 /src/mongo/db/repl/idempotency_test.cpp | |
parent | 31960610ac664d0f8cd026ab8481dc7a78edb957 (diff) | |
download | mongo-fca8f46ebfb94eebb5784ab54eb4bb774101e947.tar.gz |
SERVER-43043 Test applyOps on missing nested fields
Diffstat (limited to 'src/mongo/db/repl/idempotency_test.cpp')
-rw-r--r-- | src/mongo/db/repl/idempotency_test.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/mongo/db/repl/idempotency_test.cpp b/src/mongo/db/repl/idempotency_test.cpp index e76599bc86a..96143015561 100644 --- a/src/mongo/db/repl/idempotency_test.cpp +++ b/src/mongo/db/repl/idempotency_test.cpp @@ -197,6 +197,21 @@ TEST_F(RandomizedIdempotencyTest, CheckUpdateSequencesAreIdempotent) { runIdempotencyTestCase(); } +TEST_F(IdempotencyTest, UpdateTwoFields) { + ASSERT_OK( + ReplicationCoordinator::get(_opCtx.get())->setFollowerMode(MemberState::RS_RECOVERING)); + + ASSERT_OK(runOpInitialSync(createCollection(kUuid))); + ASSERT_OK(runOpInitialSync(insert(fromjson("{_id: 1, y: [0]}")))); + + auto updateOp1 = update(1, fromjson("{$set: {x: 1}}")); + auto updateOp2 = update(1, fromjson("{$set: {x: 2, 'y.0': 2}}")); + auto updateOp3 = update(1, fromjson("{$set: {y: 3}}")); + + auto ops = {updateOp1, updateOp2, updateOp3}; + testOpsAreIdempotent(ops); +} + } // namespace } // namespace repl } // namespace mongo |