summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Hirschhorn <max.hirschhorn@mongodb.com>2018-02-24 02:07:16 -0500
committerMax Hirschhorn <max.hirschhorn@mongodb.com>2018-02-24 02:07:16 -0500
commite59d00a7323cbe3c164ab41ef4c53a4638caba5d (patch)
tree7010f510e2848ae9b58a0a1dae48283153b45e7a
parente54239b3b99687ab79048f4ae0f20b2095910e18 (diff)
downloadmongo-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.yml1
-rw-r--r--buildscripts/resmokeconfig/suites/read_concern_majority_passthrough.yml1
-rw-r--r--buildscripts/resmokeconfig/suites/write_concern_majority_passthrough.yml1
-rw-r--r--etc/evergreen.yml19
-rw-r--r--jstests/core/bypass_doc_validation.js2
-rw-r--r--jstests/core/collmod.js2
-rw-r--r--jstests/core/collmod_bad_spec.js2
-rw-r--r--jstests/core/doc_validation.js2
-rw-r--r--jstests/core/doc_validation_invalid_validators.js2
-rw-r--r--jstests/core/doc_validation_options.js1
-rw-r--r--jstests/core/list_namespaces_invalidation.js2
-rw-r--r--jstests/core/max_time_ms.js1
-rw-r--r--jstests/core/no_db_created.js4
-rw-r--r--jstests/libs/override_methods/set_read_and_write_concerns.js3
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));