mirror of https://github.com/mongodb/mongo
30 lines
1.0 KiB
JavaScript
30 lines
1.0 KiB
JavaScript
// Tests that commands that should not be runnable on sharded collections cannot be run on sharded
|
|
// collections.
|
|
import {ShardingTest} from "jstests/libs/shardingtest.js";
|
|
|
|
const st = new ShardingTest({shards: 2, mongos: 2});
|
|
|
|
const dbName = "test";
|
|
const coll = "foo";
|
|
const ns = dbName + "." + coll;
|
|
|
|
const freshMongos = st.s0.getDB(dbName);
|
|
const staleMongos = st.s1.getDB(dbName);
|
|
|
|
assert.commandWorked(staleMongos.adminCommand({enableSharding: dbName}));
|
|
assert.commandWorked(freshMongos.adminCommand({shardCollection: ns, key: {_id: 1}}));
|
|
|
|
// Test that commands that should not be runnable on sharded collection do not work on sharded
|
|
// collections, using both fresh mongos and stale mongos instances.
|
|
assert.commandFailedWithCode(
|
|
freshMongos.runCommand({convertToCapped: coll, size: 64 * 1024}),
|
|
ErrorCodes.NamespaceCannotBeSharded,
|
|
);
|
|
assert.commandFailedWithCode(
|
|
staleMongos.runCommand({convertToCapped: coll, size: 32 * 1024}),
|
|
ErrorCodes.NamespaceCannotBeSharded,
|
|
);
|
|
assert(!freshMongos.getCollection(coll).isCapped());
|
|
|
|
st.stop();
|