summaryrefslogtreecommitdiff
path: root/jstests/sharding/update_shard_key_doc_on_same_shard.js
diff options
context:
space:
mode:
authorArun Banala <arun.banala@mongodb.com>2019-03-21 13:41:14 +0000
committerArun Banala <arun.banala@mongodb.com>2019-05-22 17:24:12 +0100
commit713a1575150594222866b085c14bae4f13fe93b5 (patch)
tree00d734dac9e343d3007abb8ad0d8dbd5e8a4d666 /jstests/sharding/update_shard_key_doc_on_same_shard.js
parentc04ac24382c947fdc24821bd40dac0e2dedd0483 (diff)
downloadmongo-713a1575150594222866b085c14bae4f13fe93b5.tar.gz
SERVER-39158 Change updates to prefer target by the query
Diffstat (limited to 'jstests/sharding/update_shard_key_doc_on_same_shard.js')
-rw-r--r--jstests/sharding/update_shard_key_doc_on_same_shard.js17
1 files changed, 15 insertions, 2 deletions
diff --git a/jstests/sharding/update_shard_key_doc_on_same_shard.js b/jstests/sharding/update_shard_key_doc_on_same_shard.js
index 53e68480437..3c7874c670f 100644
--- a/jstests/sharding/update_shard_key_doc_on_same_shard.js
+++ b/jstests/sharding/update_shard_key_doc_on_same_shard.js
@@ -201,6 +201,9 @@
st, kDbName, ns, session, sessionDB, false, {"x": 300}, {"x": 600});
assertCannotDoReplacementUpdateWhereShardKeyMissingFields(
st, kDbName, ns, session, sessionDB, false, false, {"x": 300, "y": 80}, {"x": 600});
+ // Shard key fields are missing in query.
+ assertCannotDoReplacementUpdateWhereShardKeyMissingFields(
+ st, kDbName, ns, session, sessionDB, false, false, {"x": 300}, {"x": 600, "y": 80, "a": 2});
assertCannotUpdateSKToArray(
st, kDbName, ns, session, sessionDB, false, false, {"x": 300}, {"x": [300]});
@@ -355,6 +358,9 @@
st, kDbName, ns, session, sessionDB, false, true, {"_id.a": 300}, {"_id": {"a": 600}});
assertCannotDoReplacementUpdateWhereShardKeyMissingFields(
st, kDbName, ns, session, sessionDB, false, true, {"x": 300, "y": 80}, {"x": 600});
+ // Shard key fields are missing in query.
+ assertCannotDoReplacementUpdateWhereShardKeyMissingFields(
+ st, kDbName, ns, session, sessionDB, false, true, {"x": 300}, {"x": 600, "y": 80, "a": 2});
assertCannotUpdateSKToArray(
st, kDbName, ns, session, sessionDB, false, true, {"x": 300}, {"x": [300]});
@@ -532,6 +538,10 @@
st, kDbName, ns, session, sessionDB, true, {"x": 300}, {"x": 600});
assertCannotDoReplacementUpdateWhereShardKeyMissingFields(
st, kDbName, ns, session, sessionDB, true, false, {"x": 300, "y": 80}, {"x": 600});
+ // Shard key fields are missing in query.
+ assertCannotDoReplacementUpdateWhereShardKeyMissingFields(
+ st, kDbName, ns, session, sessionDB, true, false, {"x": 300}, {"x": 600, "y": 80, "a": 2});
+
assertCannotUpdateSKToArray(
st, kDbName, ns, session, sessionDB, true, false, {"x": 300}, {"x": [300]});
@@ -685,7 +695,10 @@
assertCannotUpdate_idDottedPath(
st, kDbName, ns, session, sessionDB, true, true, {"_id.a": 300}, {"_id": {"a": 600}});
assertCannotDoReplacementUpdateWhereShardKeyMissingFields(
- st, kDbName, ns, session, sessionDB, true, false, {"x": 300, "y": 80}, {"x": 600});
+ st, kDbName, ns, session, sessionDB, true, true, {"x": 300, "y": 80}, {"x": 600});
+ // Shard key fields are missing in query.
+ assertCannotDoReplacementUpdateWhereShardKeyMissingFields(
+ st, kDbName, ns, session, sessionDB, true, true, {"x": 300}, {"x": 600, "y": 80, "a": 2});
assertCannotUpdateSKToArray(
st, kDbName, ns, session, sessionDB, true, true, {"x": 300}, {"x": [300]});
@@ -771,4 +784,4 @@
st.stop();
-})(); \ No newline at end of file
+})();