diff options
author | Arun Banala <arun.banala@mongodb.com> | 2019-03-21 13:41:14 +0000 |
---|---|---|
committer | Arun Banala <arun.banala@mongodb.com> | 2019-05-22 17:24:12 +0100 |
commit | 713a1575150594222866b085c14bae4f13fe93b5 (patch) | |
tree | 00d734dac9e343d3007abb8ad0d8dbd5e8a4d666 /jstests/sharding/update_shard_key_doc_on_same_shard.js | |
parent | c04ac24382c947fdc24821bd40dac0e2dedd0483 (diff) | |
download | mongo-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.js | 17 |
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 +})(); |