diff options
author | Cheahuychou Mao <mao.cheahuychou@gmail.com> | 2020-11-17 23:14:44 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-11-20 05:50:00 +0000 |
commit | 91a31f597533ef25964e8f831ecec51219ca6084 (patch) | |
tree | 0c3780b591614ebf67e9e1dc9a5962309407adc1 /jstests/replsets/tenant_migration_donor_current_op.js | |
parent | 4e3d1f8787e5e4b412dcecb83e2d274e3dcb6a0c (diff) | |
download | mongo-91a31f597533ef25964e8f831ecec51219ca6084.tar.gz |
SERVER-51506 TenantMigrationDonorInstance should be removed from TenantMigrationDonorService if inserting the instance's state doc fails with ConflictingOperationInProgress
Diffstat (limited to 'jstests/replsets/tenant_migration_donor_current_op.js')
-rw-r--r-- | jstests/replsets/tenant_migration_donor_current_op.js | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/jstests/replsets/tenant_migration_donor_current_op.js b/jstests/replsets/tenant_migration_donor_current_op.js index c820e86a068..a442c90233d 100644 --- a/jstests/replsets/tenant_migration_donor_current_op.js +++ b/jstests/replsets/tenant_migration_donor_current_op.js @@ -38,6 +38,9 @@ recipientRst.initiate(); const kRecipientConnString = recipientRst.getURL(); const kTenantId = 'testTenantId'; +const kReadPreference = { + mode: "primary" +}; (() => { jsTestLog("Testing currentOp output for migration in data sync state"); @@ -53,6 +56,7 @@ const kTenantId = 'testTenantId'; const migrationOpts = { migrationIdString: extractUUIDFromObject(migrationId), tenantId: kTenantId, + readPreference: kReadPreference }; let fp = configureFailPoint(donorPrimary, "pauseTenantMigrationAfterDataSync"); assert.commandWorked(tenantMigrationTest.startMigration(migrationOpts)); @@ -62,7 +66,9 @@ const kTenantId = 'testTenantId'; donorPrimary.adminCommand({currentOp: true, desc: "tenant donor migration"})); assert.eq(res.inprog.length, 1); assert.eq(bsonWoCompare(res.inprog[0].instanceID.uuid, migrationId), 0); + assert.eq(bsonWoCompare(res.inprog[0].tenantId, kTenantId), 0); assert.eq(res.inprog[0].recipientConnectionString, kRecipientConnString); + assert.eq(bsonWoCompare(res.inprog[0].readPreference, kReadPreference), 0); assert.eq(res.inprog[0].lastDurableState, migrationStates.kDataSync); assert.eq(res.inprog[0].migrationCompleted, false); @@ -84,6 +90,7 @@ const kTenantId = 'testTenantId'; const migrationOpts = { migrationIdString: extractUUIDFromObject(migrationId), tenantId: kTenantId, + readPreference: kReadPreference }; let fp = configureFailPoint(donorPrimary, "pauseTenantMigrationAfterBlockingStarts"); assert.commandWorked(tenantMigrationTest.startMigration(migrationOpts)); @@ -93,7 +100,9 @@ const kTenantId = 'testTenantId'; donorPrimary.adminCommand({currentOp: true, desc: "tenant donor migration"})); assert.eq(res.inprog.length, 1); assert.eq(bsonWoCompare(res.inprog[0].instanceID.uuid, migrationId), 0); + assert.eq(bsonWoCompare(res.inprog[0].tenantId, kTenantId), 0); assert.eq(res.inprog[0].recipientConnectionString, kRecipientConnString); + assert.eq(bsonWoCompare(res.inprog[0].readPreference, kReadPreference), 0); assert.eq(res.inprog[0].lastDurableState, migrationStates.kBlocking); assert(res.inprog[0].blockTimestamp); assert.eq(res.inprog[0].migrationCompleted, false); @@ -116,6 +125,7 @@ const kTenantId = 'testTenantId'; const migrationOpts = { migrationIdString: extractUUIDFromObject(migrationId), tenantId: kTenantId, + readPreference: kReadPreference }; configureFailPoint(donorPrimary, "abortTenantMigrationAfterBlockingStarts"); assert.commandWorked(tenantMigrationTest.runMigration(migrationOpts)); @@ -124,7 +134,9 @@ const kTenantId = 'testTenantId'; donorPrimary.adminCommand({currentOp: true, desc: "tenant donor migration"})); assert.eq(res.inprog.length, 1); assert.eq(bsonWoCompare(res.inprog[0].instanceID.uuid, migrationId), 0); + assert.eq(bsonWoCompare(res.inprog[0].tenantId, kTenantId), 0); assert.eq(res.inprog[0].recipientConnectionString, kRecipientConnString); + assert.eq(bsonWoCompare(res.inprog[0].readPreference, kReadPreference), 0); assert.eq(res.inprog[0].lastDurableState, migrationStates.kAborted); assert(res.inprog[0].blockTimestamp); assert(res.inprog[0].commitOrAbortOpTime); @@ -147,13 +159,16 @@ const kTenantId = 'testTenantId'; const migrationOpts = { migrationIdString: extractUUIDFromObject(migrationId), tenantId: kTenantId, + readPreference: kReadPreference }; assert.commandWorked(tenantMigrationTest.runMigration(migrationOpts)); let res = donorPrimary.adminCommand({currentOp: true, desc: "tenant donor migration"}); assert.eq(res.inprog.length, 1); assert.eq(bsonWoCompare(res.inprog[0].instanceID.uuid, migrationId), 0); + assert.eq(bsonWoCompare(res.inprog[0].tenantId, kTenantId), 0); assert.eq(res.inprog[0].recipientConnectionString, kRecipientConnString); + assert.eq(bsonWoCompare(res.inprog[0].readPreference, kReadPreference), 0); assert.eq(res.inprog[0].lastDurableState, migrationStates.kCommitted); assert(res.inprog[0].blockTimestamp); assert(res.inprog[0].commitOrAbortOpTime); @@ -166,7 +181,9 @@ const kTenantId = 'testTenantId'; res = donorPrimary.adminCommand({currentOp: true, desc: "tenant donor migration"}); assert.eq(res.inprog.length, 1); assert.eq(bsonWoCompare(res.inprog[0].instanceID.uuid, migrationId), 0); + assert.eq(bsonWoCompare(res.inprog[0].tenantId, kTenantId), 0); assert.eq(res.inprog[0].recipientConnectionString, kRecipientConnString); + assert.eq(bsonWoCompare(res.inprog[0].readPreference, kReadPreference), 0); assert.eq(res.inprog[0].lastDurableState, migrationStates.kCommitted); assert(res.inprog[0].blockTimestamp); assert(res.inprog[0].commitOrAbortOpTime); |