summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Lee <jonathan.lee@mongodb.com>2021-10-06 20:23:09 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-10-07 13:48:05 +0000
commit932f1c7180a0bdae321bdccefaecb2bf15053761 (patch)
tree75f71812abc74700f56198c6a7d334c0b9e0eeb4
parent01549c7e5d425f48c5c9533d2655e20d992d9eef (diff)
downloadmongo-932f1c7180a0bdae321bdccefaecb2bf15053761.tar.gz
Revert "SERVER-58104 Prevent the balancer from calculating split points in sessions collection if shard key is not _id"
This reverts commit 01549c7e5d425f48c5c9533d2655e20d992d9eef.
-rw-r--r--jstests/sharding/balancing_sessions_collection_reshard.js55
-rw-r--r--src/mongo/db/s/balancer/balancer_chunk_selection_policy_impl.cpp7
2 files changed, 0 insertions, 62 deletions
diff --git a/jstests/sharding/balancing_sessions_collection_reshard.js b/jstests/sharding/balancing_sessions_collection_reshard.js
deleted file mode 100644
index e5a8c3b096b..00000000000
--- a/jstests/sharding/balancing_sessions_collection_reshard.js
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Tests that the balancer does not split the chunks for the sessions collection
- * if the shard key is not _id.
- */
-(function() {
- "use strict";
-
- let numShards = 2;
- const kMinNumChunks = 2;
- const clusterName = jsTest.name();
- const st = new ShardingTest({
- name: clusterName,
- shards: numShards,
- other:
- {configOptions: {setParameter: {minNumChunksForSessionsCollection: kMinNumChunks}}}
- });
-
- let waitForBalancerToRun = function() {
- let lastRoundNumber =
- assert.commandWorked(st.s.adminCommand({balancerStatus: 1})).numBalancerRounds;
- st.startBalancer();
-
- assert.soon(function() {
- let res = assert.commandWorked(st.s.adminCommand({balancerStatus: 1}));
- return res.mode == "full" && res.numBalancerRounds - lastRoundNumber > 1;
- });
-
- st.stopBalancer();
- };
-
- const kSessionsNs = "config.system.sessions";
- let configDB = st.s.getDB("config");
-
- jsTest.log("Verify that the sessions collection is successfully dropped.");
-
- assert.commandWorked(configDB.runCommand({drop: "system.sessions"}));
-
- jsTest.log("Verify that the sessions collection is successfully recreated and resharded.");
-
- assert.commandWorked(st.s.adminCommand({enableSharding: "config"}));
- assert.commandWorked(st.s.adminCommand({shardCollection: kSessionsNs, key: {oldRoles: 1}}));
-
- jsTest.log("Verify that balancer does not fail after resharding.");
- waitForBalancerToRun();
-
- jsTest.log(
- "Verify that there is a single chunk for the collection and the bounds are the resharded key.");
- assert.eq(1, configDB.chunks.count({ns: kSessionsNs}));
-
- let doc = configDB.chunks.findOne({ns: kSessionsNs});
- assert(doc.min.hasOwnProperty("oldRoles"));
- assert(doc.max.hasOwnProperty("oldRoles"));
-
- st.stop();
-}());
diff --git a/src/mongo/db/s/balancer/balancer_chunk_selection_policy_impl.cpp b/src/mongo/db/s/balancer/balancer_chunk_selection_policy_impl.cpp
index 15bf7093fbf..b113735802f 100644
--- a/src/mongo/db/s/balancer/balancer_chunk_selection_policy_impl.cpp
+++ b/src/mongo/db/s/balancer/balancer_chunk_selection_policy_impl.cpp
@@ -234,13 +234,6 @@ void getSplitCandidatesToEnforceTagRanges(const ChunkManager* cm,
void getSplitCandidatesForSessionsCollection(OperationContext* opCtx,
const ChunkManager* cm,
SplitCandidatesBuffer* splitCandidates) {
- // Do not compute split points if shard key is not _id,
- // since the split points depend on _id.id.
- const auto& keyPattern = cm->getShardKeyPattern().getKeyPattern();
- if (!KeyPattern::isIdKeyPattern(keyPattern.toBSON())) {
- return;
- }
-
const auto minNumChunks = minNumChunksForSessionsCollection.load();
if (cm->numChunks() >= minNumChunks) {