SERVER-113376 Make check_metadata_consistency.js resilient to CSRS stepdowns (#44245) (#45358)

GitOrigin-RevId: cb2989a3c2a3ccb5cb8d9a813098ca9730206cb7
This commit is contained in:
Marcos Grillo 2025-12-17 18:36:11 +01:00 committed by MongoDB Bot
parent e035a53c64
commit 29367986fc

View File

@ -223,9 +223,11 @@ function isFcvGraterOrEqualTo(fcvRequired) {
}
const db = getNewDb();
const session = st.configRS.getPrimary().startSession({retryWrites: true});
const sessionDB = session.getDatabase(db.getName());
assert.commandWorked(mongos.adminCommand({enableSharding: db.getName()}));
assert.commandWorked(st.configRS.getPrimary().getDB(db.getName()).coll.insert({_id: 'foo'}));
assert.commandWorked(sessionDB.coll.insert({_id: "foo"}));
// Database level mode command
let inconsistencies = db.checkMetadataConsistency().toArray();
@ -239,10 +241,21 @@ function isFcvGraterOrEqualTo(fcvRequired) {
assert.eq("MisplacedCollection", collInconsistencies[0].type, tojson(inconsistencies[0]));
assert.eq(1, collInconsistencies[0].details.numDocs, tojson(inconsistencies[0]));
session.endSession();
// Clean up the database to pass the hooks that detect inconsistencies
db.dropDatabase();
assert.commandWorked(
st.configRS.getPrimary().getDB(db.getName()).runCommand({dropDatabase: 1}));
assert.soon(() => {
try {
assert.commandWorked(
st.configRS.getPrimary().getDB(db.getName()).runCommand({dropDatabase: 1}));
return true;
} catch (e) {
if (ErrorCodes.isRetriableError(e.code)) {
return false;
}
throw e;
}
});
assertNoInconsistencies();
})();