diff options
author | Max Hirschhorn <max.hirschhorn@mongodb.com> | 2018-02-24 02:07:16 -0500 |
---|---|---|
committer | Max Hirschhorn <max.hirschhorn@mongodb.com> | 2018-02-24 02:07:16 -0500 |
commit | e59d00a7323cbe3c164ab41ef4c53a4638caba5d (patch) | |
tree | 7010f510e2848ae9b58a0a1dae48283153b45e7a | |
parent | e54239b3b99687ab79048f4ae0f20b2095910e18 (diff) | |
download | mongo-e59d00a7323cbe3c164ab41ef4c53a4638caba5d.tar.gz |
SERVER-32691 Add write_concern_majority_passthrough_WT task in Evergreen.
Also changes the aggregation_read_concern_majority_passthrough.yml,
read_concern_majority_passthrough.yml, and
write_concern_majority_passthrough.yml test suites to skip any
JavaScript tests that use the "collMod" command because it only supports
a w=1 writeConcern.
(cherry picked from commit bb8ac01f052a7b4b5c042085334ce640a1ab8dd1)
-rw-r--r-- | buildscripts/resmokeconfig/suites/aggregation_read_concern_majority_passthrough.yml | 1 | ||||
-rw-r--r-- | buildscripts/resmokeconfig/suites/read_concern_majority_passthrough.yml | 1 | ||||
-rw-r--r-- | buildscripts/resmokeconfig/suites/write_concern_majority_passthrough.yml | 1 | ||||
-rw-r--r-- | etc/evergreen.yml | 19 | ||||
-rw-r--r-- | jstests/core/bypass_doc_validation.js | 2 | ||||
-rw-r--r-- | jstests/core/collmod.js | 2 | ||||
-rw-r--r-- | jstests/core/collmod_bad_spec.js | 2 | ||||
-rw-r--r-- | jstests/core/doc_validation.js | 2 | ||||
-rw-r--r-- | jstests/core/doc_validation_invalid_validators.js | 2 | ||||
-rw-r--r-- | jstests/core/doc_validation_options.js | 1 | ||||
-rw-r--r-- | jstests/core/list_namespaces_invalidation.js | 2 | ||||
-rw-r--r-- | jstests/core/max_time_ms.js | 1 | ||||
-rw-r--r-- | jstests/core/no_db_created.js | 4 | ||||
-rw-r--r-- | jstests/libs/override_methods/set_read_and_write_concerns.js | 3 |
14 files changed, 41 insertions, 2 deletions
diff --git a/buildscripts/resmokeconfig/suites/aggregation_read_concern_majority_passthrough.yml b/buildscripts/resmokeconfig/suites/aggregation_read_concern_majority_passthrough.yml index 392c9f5dd5e..676f7fb7d29 100644 --- a/buildscripts/resmokeconfig/suites/aggregation_read_concern_majority_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/aggregation_read_concern_majority_passthrough.yml @@ -21,6 +21,7 @@ selector: - assumes_write_concern_unchanged # "Cowardly refusing to run test with overridden write concern when it uses a command that can # only perform w=1 writes: ..." + - requires_collmod_command - requires_eval_command executor: diff --git a/buildscripts/resmokeconfig/suites/read_concern_majority_passthrough.yml b/buildscripts/resmokeconfig/suites/read_concern_majority_passthrough.yml index 407e083edc9..50d27f37eed 100644 --- a/buildscripts/resmokeconfig/suites/read_concern_majority_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/read_concern_majority_passthrough.yml @@ -23,6 +23,7 @@ selector: - assumes_write_concern_unchanged # "Cowardly refusing to run test with overridden write concern when it uses a command that can # only perform w=1 writes: ..." + - requires_collmod_command - requires_eval_command executor: diff --git a/buildscripts/resmokeconfig/suites/write_concern_majority_passthrough.yml b/buildscripts/resmokeconfig/suites/write_concern_majority_passthrough.yml index b20f6790f9f..1517c6624fc 100644 --- a/buildscripts/resmokeconfig/suites/write_concern_majority_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/write_concern_majority_passthrough.yml @@ -44,6 +44,7 @@ selector: - assumes_write_concern_unchanged # "Cowardly refusing to run test with overridden write concern when it uses a command that can # only perform w=1 writes: ..." + - requires_collmod_command - requires_eval_command ## # The next two tags corresponds to the special error thrown by the diff --git a/etc/evergreen.yml b/etc/evergreen.yml index fa5e17b0162..09dc13e18d9 100644 --- a/etc/evergreen.yml +++ b/etc/evergreen.yml @@ -1650,6 +1650,17 @@ tasks: run_multiple_jobs: true - <<: *task_template + name: write_concern_majority_passthrough_WT + depends_on: + - name: jsCore_WT + commands: + - func: "do setup" + - func: "run tests" + vars: + resmoke_args: --suites=write_concern_majority_passthrough --storageEngine=wiredTiger + run_multiple_jobs: true + +- <<: *task_template name: replicasets commands: - func: "do setup" @@ -2544,6 +2555,7 @@ buildvariants: - name: tool - name: tool_WT - name: unittests + - name: write_concern_majority_passthrough_WT - name: push - name: linux-64-repeated-execution @@ -2682,6 +2694,7 @@ buildvariants: - name: tool - name: tool_WT - name: unittests + - name: write_concern_majority_passthrough_WT - name: linux-64-duroff display_name: Linux (No Journal) @@ -3567,6 +3580,7 @@ buildvariants: - name: tool - name: tool_WT - name: unittests + - name: write_concern_majority_passthrough_WT - name: push distros: - rhel70 @@ -3666,6 +3680,7 @@ buildvariants: - name: tool - name: tool_WT - name: unittests + - name: write_concern_majority_passthrough_WT - name: enterprise-windows-64 display_name: "* Enterprise Windows" @@ -4085,6 +4100,7 @@ buildvariants: - name: tool - name: tool_WT - name: unittests + - name: write_concern_majority_passthrough_WT - name: push distros: - rhel70 @@ -4365,6 +4381,7 @@ buildvariants: - name: tool - name: tool_WT - name: unittests + - name: write_concern_majority_passthrough_WT - name: package distros: - ubuntu1604-packer @@ -4557,6 +4574,7 @@ buildvariants: # - name: tool - name: tool_WT - name: unittests + - name: write_concern_majority_passthrough_WT - name: push distros: - rhel70 @@ -6027,6 +6045,7 @@ buildvariants: - name: tool - name: tool_WT - name: unittests + - name: write_concern_majority_passthrough_WT - name: ubuntu1604-asan display_name: ~ ASAN SSL Ubuntu 16.04 diff --git a/jstests/core/bypass_doc_validation.js b/jstests/core/bypass_doc_validation.js index 79a2eb7d4a2..50a212f6f59 100644 --- a/jstests/core/bypass_doc_validation.js +++ b/jstests/core/bypass_doc_validation.js @@ -1,5 +1,7 @@ // Test the bypassDocumentValidation flag with some database commands. The test uses relevant shell // helpers when they're available for the respective server commands. +// +// @tags: [requires_collmod_command] (function() { 'use strict'; diff --git a/jstests/core/collmod.js b/jstests/core/collmod.js index e91a7bd8484..d7a0d47f64e 100644 --- a/jstests/core/collmod.js +++ b/jstests/core/collmod.js @@ -1,5 +1,7 @@ // Basic js tests for the collMod command. // Test setting the usePowerOf2Sizes flag, and modifying TTL indexes. +// +// @tags: [requires_collmod_command] function debug(x) { // printjson( x ); diff --git a/jstests/core/collmod_bad_spec.js b/jstests/core/collmod_bad_spec.js index ccce81fd4b1..c3d5e7a148e 100644 --- a/jstests/core/collmod_bad_spec.js +++ b/jstests/core/collmod_bad_spec.js @@ -2,6 +2,8 @@ // // Tests that a collMod with a bad specification does not cause any changes, and does not crash the // server. +// +// @tags: [requires_collmod_command] (function() { "use strict"; diff --git a/jstests/core/doc_validation.js b/jstests/core/doc_validation.js index 92bea28af35..f0f1fe0d6b6 100644 --- a/jstests/core/doc_validation.js +++ b/jstests/core/doc_validation.js @@ -1,4 +1,6 @@ // Test basic inserts and updates with document validation. +// +// @tags: [requires_collmod_command] (function() { "use strict"; diff --git a/jstests/core/doc_validation_invalid_validators.js b/jstests/core/doc_validation_invalid_validators.js index aeebae42820..b63514c7114 100644 --- a/jstests/core/doc_validation_invalid_validators.js +++ b/jstests/core/doc_validation_invalid_validators.js @@ -1,5 +1,7 @@ // Verify invalid validator statements won't work and that we // can't create validated collections on restricted databases. +// +// @tags: [requires_collmod_command] (function() { "use strict"; diff --git a/jstests/core/doc_validation_options.js b/jstests/core/doc_validation_options.js index 8a96685e48f..d1434af6d45 100644 --- a/jstests/core/doc_validation_options.js +++ b/jstests/core/doc_validation_options.js @@ -1,3 +1,4 @@ +// @tags: [requires_collmod_command] (function() { "use strict"; diff --git a/jstests/core/list_namespaces_invalidation.js b/jstests/core/list_namespaces_invalidation.js index c257421b376..d5477576b05 100644 --- a/jstests/core/list_namespaces_invalidation.js +++ b/jstests/core/list_namespaces_invalidation.js @@ -1,4 +1,6 @@ // SERVER-27996/SERVER-28022 Missing invalidation for system.namespaces writes +// +// @tags: [requires_collmod_command] (function() { 'use strict'; var dbInvalidName = 'system_namespaces_invalidations'; diff --git a/jstests/core/max_time_ms.js b/jstests/core/max_time_ms.js index 5147201cacc..0d23950d6dc 100644 --- a/jstests/core/max_time_ms.js +++ b/jstests/core/max_time_ms.js @@ -5,6 +5,7 @@ // # failpoint. The former operations may be routed to a secondary in the replica set, whereas the // # latter must be routed to the primary. // assumes_read_preference_unchanged, +// requires_collmod_command, // ] var t = db.max_time_ms; diff --git a/jstests/core/no_db_created.js b/jstests/core/no_db_created.js index 3491914d470..b67b193494c 100644 --- a/jstests/core/no_db_created.js +++ b/jstests/core/no_db_created.js @@ -1,4 +1,6 @@ // checks that operations do not create a database +// +// @tags: [requires_collmod_command] (function() { "use strict"; @@ -32,4 +34,4 @@ noDB(mydb); assert.writeOK(coll.insert({})); mydb.dropDatabase(); -}());
\ No newline at end of file +}()); diff --git a/jstests/libs/override_methods/set_read_and_write_concerns.js b/jstests/libs/override_methods/set_read_and_write_concerns.js index 267b5ab9bfc..83502a07a4b 100644 --- a/jstests/libs/override_methods/set_read_and_write_concerns.js +++ b/jstests/libs/override_methods/set_read_and_write_concerns.js @@ -69,6 +69,7 @@ "copydb", "create", "createIndexes", + "deleteIndexes", "drop", "dropDatabase", "dropIndexes", @@ -96,7 +97,7 @@ commandName = Object.keys(commandObjUnwrapped)[0]; } - if (commandName === "eval" || commandName === "$eval") { + if (commandName === "collMod" || commandName === "eval" || commandName === "$eval") { throw new Error("Cowardly refusing to run test with overridden write concern when it" + " uses a command that can only perform w=1 writes: " + tojson(commandObj)); |