mirror of https://github.com/mongodb/mongo
49 lines
1.5 KiB
JavaScript
49 lines
1.5 KiB
JavaScript
/**
|
|
* Test that moveChunk.error changelog events logged by the MigrationSourceManager have the errmsg field describing the reason for the failure
|
|
*
|
|
* @tags: [
|
|
* requires_fcv_83
|
|
* ]
|
|
*/
|
|
|
|
import {ShardingTest} from "jstests/libs/shardingtest.js";
|
|
import {configureFailPoint} from "jstests/libs/fail_point_util.js";
|
|
|
|
const st = new ShardingTest({shards: 2});
|
|
|
|
const dbName = "testDB";
|
|
const collName = "testColl";
|
|
const nss = dbName + "." + collName;
|
|
const configDB = st.s.getDB("config");
|
|
|
|
const primaryShardName = st.shard0.shardName;
|
|
const recipientShardName = st.shard1.shardName;
|
|
const shardKey = {k: 1};
|
|
const splitPoint = {k: 0};
|
|
|
|
assert.commandWorked(st.s.adminCommand({enableSharding: dbName, primaryShard: primaryShardName}));
|
|
st.shardColl(collName, shardKey, splitPoint /*split*/, false /*move*/, dbName);
|
|
|
|
const donorPrimary = st.rs0.getPrimary();
|
|
configureFailPoint(donorPrimary, "failMigrationCommit");
|
|
|
|
assert.commandFailedWithCode(
|
|
st.s.adminCommand({moveChunk: nss, find: splitPoint, to: recipientShardName}),
|
|
ErrorCodes.InternalError,
|
|
);
|
|
|
|
const expectedErrMsg = "Failing _recvChunkCommit due to failpoint.";
|
|
const errorEventCount = configDB.changelog
|
|
.aggregate([
|
|
{
|
|
$match: {
|
|
what: "moveChunk.error",
|
|
"details.errmsg": expectedErrMsg,
|
|
},
|
|
},
|
|
])
|
|
.itcount();
|
|
assert.eq(1, errorEventCount, "Expected to find moveChunk.error event with errmsg: " + expectedErrMsg);
|
|
|
|
st.stop();
|