mirror of https://github.com/mongodb/mongo
38 lines
1.2 KiB
JavaScript
38 lines
1.2 KiB
JavaScript
//
|
|
// Tests that the changelog entry for moveChunk.commit contains stats on the migration.
|
|
//
|
|
|
|
import {ShardingTest} from "jstests/libs/shardingtest.js";
|
|
import {findChunksUtil} from "jstests/sharding/libs/find_chunks_util.js";
|
|
|
|
let st = new ShardingTest({mongos: 1, shards: 2});
|
|
let kDbName = "db";
|
|
|
|
let mongos = st.s0;
|
|
let shard0 = st.shard0.shardName;
|
|
let shard1 = st.shard1.shardName;
|
|
|
|
assert.commandWorked(mongos.adminCommand({enableSharding: kDbName, primaryShard: shard0}));
|
|
|
|
function assertCountsInChangelog() {
|
|
let changeLog = st.s.getDB("config").changelog.find({what: "moveChunk.commit"}).toArray();
|
|
assert.gt(changeLog.length, 0);
|
|
for (let i = 0; i < changeLog.length; i++) {
|
|
assert(changeLog[i].details.hasOwnProperty("counts"));
|
|
}
|
|
}
|
|
|
|
let ns = kDbName + ".fooHashed";
|
|
assert.commandWorked(mongos.adminCommand({shardCollection: ns, key: {_id: "hashed"}}));
|
|
|
|
let aChunk = findChunksUtil.findOneChunkByNs(mongos.getDB("config"), ns, {shard: shard0});
|
|
assert(aChunk);
|
|
|
|
// Assert counts field exists in the changelog entry for moveChunk.commit
|
|
assert.commandWorked(mongos.adminCommand({moveChunk: ns, bounds: [aChunk.min, aChunk.max], to: shard1}));
|
|
assertCountsInChangelog();
|
|
|
|
mongos.getDB(kDbName).fooHashed.drop();
|
|
|
|
st.stop();
|