summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Hirschhorn <max.hirschhorn@mongodb.com>2017-08-30 11:15:13 -0400
committerMax Hirschhorn <max.hirschhorn@mongodb.com>2017-08-30 11:15:13 -0400
commit03055999749ed577af14d5d9cc969f616b4c3196 (patch)
treebc226e0a3cf9a897a626b3d1a118e9c24367e040
parent45d4ddb4aaaf5b0bbe36442659c76be494a92af0 (diff)
downloadmongo-03055999749ed577af14d5d9cc969f616b4c3196.tar.gz
SERVER-30686 Add retryable_writes_jscore_passthrough_WT task.
-rw-r--r--buildscripts/resmokeconfig/suites/retryable_writes_jscore_passthrough.yml17
-rw-r--r--etc/evergreen.yml97
-rw-r--r--jstests/core/currentop.js19
3 files changed, 91 insertions, 42 deletions
diff --git a/buildscripts/resmokeconfig/suites/retryable_writes_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/retryable_writes_jscore_passthrough.yml
index 4637156aae2..a319397b83b 100644
--- a/buildscripts/resmokeconfig/suites/retryable_writes_jscore_passthrough.yml
+++ b/buildscripts/resmokeconfig/suites/retryable_writes_jscore_passthrough.yml
@@ -9,6 +9,16 @@ selector:
- jstests/core/dbadmin.js
- jstests/core/opcounters_write_cmd.js
- jstests/core/read_after_optime.js
+ # TODO SERVER-30325: The following tests perform many write operations and cause the Evergreen
+ # task to time out due to performance issues with tracking the transaction's progress.
+ - jstests/core/bulk_insert.js
+ - jstests/core/geo2.js
+ - jstests/core/geo3.js
+ - jstests/core/geo_s2explain.js
+ - jstests/core/geo_s2twofields.js
+ - jstests/core/insert1.js
+ - jstests/core/remove6.js
+ - jstests/core/removea.js
executor:
config:
@@ -27,6 +37,13 @@ executor:
# validating the entire contents of the collection.
- class: CheckReplOplogs
- class: CheckReplDBHash
+ shell_options:
+ global_vars:
+ TestData:
+ # TODO SERVER-30325: We temporarily ignore any dbhash mismatches from the
+ # "config.transactions" collection.
+ excludedDBsFromDBHash:
+ - config
- class: ValidateCollections
- class: CleanEveryN
n: 20
diff --git a/etc/evergreen.yml b/etc/evergreen.yml
index b7cc97bddd0..6d3e0857b50 100644
--- a/etc/evergreen.yml
+++ b/etc/evergreen.yml
@@ -373,7 +373,7 @@ functions:
script: |
set -o errexit
set -o verbose
- if [ "${build_cdriver|}" = "true" ]; then
+ if [ "${build_cdriver|}" = "true" ]; then
CDRIVER_VERSION=1.6.3
rm -rf mongo-c-driver-$CDRIVER_VERSION
rm -rf mongo-c-driver
@@ -873,7 +873,7 @@ functions:
${compile_env|} ${python|/opt/mongodbtoolchain/v2/bin/python2} buildscripts/runiossim.py --test "build/debug/mongo/client/embedded/mongo_embedded_capi_test"
${compile_env|} ${python|/opt/mongodbtoolchain/v2/bin/python2} buildscripts/runiossim.py --test "build/debug/mongo/client/embedded/mongo_embedded_transport_test"
fi
-
+
"do multiversion setup" :
command: shell.exec
params:
@@ -3528,25 +3528,25 @@ tasks:
run_multiple_jobs: true
- <<: *task_template
- name: causally_consistent_jscore_passthrough_WT
+ name: session_jscore_passthrough_WT
depends_on:
- name: jsCore_WT
commands:
- func: "do setup"
- func: "run tests"
vars:
- resmoke_args: --suites=causally_consistent_jscore_passthrough --storageEngine=wiredTiger
+ resmoke_args: --suites=session_jscore_passthrough --storageEngine=wiredTiger
run_multiple_jobs: true
- <<: *task_template
- name: session_jscore_passthrough_WT
+ name: causally_consistent_jscore_passthrough_WT
depends_on:
- name: jsCore_WT
commands:
- func: "do setup"
- func: "run tests"
vars:
- resmoke_args: --suites=session_jscore_passthrough --storageEngine=wiredTiger
+ resmoke_args: --suites=causally_consistent_jscore_passthrough --storageEngine=wiredTiger
run_multiple_jobs: true
- <<: *task_template
@@ -3572,6 +3572,17 @@ tasks:
run_multiple_jobs: true
- <<: *task_template
+ name: retryable_writes_jscore_passthrough_WT
+ depends_on:
+ - name: jsCore_WT
+ commands:
+ - func: "do setup"
+ - func: "run tests"
+ vars:
+ resmoke_args: --suites=retryable_writes_jscore_passthrough --storageEngine=wiredTiger
+ run_multiple_jobs: true
+
+- <<: *task_template
name: watchdog
commands:
- func: "do setup"
@@ -5558,13 +5569,16 @@ buildvariants:
- name: jsCore_decimal
- name: jsCore_decimal_WT
- name: jsonSchema
+ - name: master_slave
+ - name: master_slave_WT
+ - name: master_slave_jscore_passthrough
+ - name: master_slave_jscore_passthrough_WT
- name: mmap
- name: mongosTest
- name: noPassthrough
- name: noPassthrough_WT
- name: noPassthroughWithMongod
- name: noPassthroughWithMongod_WT
- - name: session_jscore_passthrough_WT
- name: bulk_gle_passthrough
- name: bulk_gle_passthrough_WT
- name: parallel
@@ -5643,10 +5657,10 @@ buildvariants:
- name: replica_sets_kill_secondaries_jscore_passthrough_WT
distros:
- windows-64-vs2015-large
- - name: master_slave
- - name: master_slave_WT
- - name: master_slave_jscore_passthrough
- - name: master_slave_jscore_passthrough_WT
+ - name: retryable_writes_jscore_passthrough_WT
+ distros:
+ - windows-64-vs2015-large
+ - name: session_jscore_passthrough_WT
- name: sharding
distros:
- windows-64-vs2015-large
@@ -6110,6 +6124,7 @@ buildvariants:
- name: replica_sets_jscore_passthrough
- name: replica_sets_jscore_passthrough_WT
- name: replica_sets_kill_secondaries_jscore_passthrough_WT
+ - name: retryable_writes_jscore_passthrough_WT
- name: serial_run
- name: serial_run_WT
- name: session_jscore_passthrough_WT
@@ -6239,7 +6254,7 @@ buildvariants:
build_cdriver: true
cdriver_configure_flags: --host arm-apple-darwin CC="$(xcrun -f --sdk iphoneos clang)" CXX="$(xcrun -f --sdk iphoneos clang++)" CPPFLAGS="-isysroot $(xcrun --sdk iphoneos --show-sdk-path) -miphoneos-version-min=10.2 -arch arm64 -fembed-bitcode" CFLAGS="-isysroot $(xcrun --sdk iphoneos --show-sdk-path) -miphoneos-version-min=10.2 -arch arm64 -fembed-bitcode" CXXFLAGS="-isysroot $(xcrun --sdk iphoneos --show-sdk-path) -miphoneos-version-min=10.2 -arch arm64 -fembed-bitcode" LDFLAGS="-miphoneos-version-min=10.2 -arch arm64"
compile_env: DEVELOPER_DIR=/Applications/Xcode8.3.app
- compile_flags: -j$(sysctl -n hw.logicalcpu) --dbg=on --disable-warnings-as-errors --js-engine=none --variables-files=etc/scons/xcode_ios.vars CPPPATH="$(dirname $PWD)/mongo-c-driver/install/include/libbson-1.0 $(dirname $PWD)/mongo-c-driver/install/include/libmongoc-1.0" LIBPATH="$(dirname $PWD)/mongo-c-driver/install/lib" all
+ compile_flags: -j$(sysctl -n hw.logicalcpu) --dbg=on --disable-warnings-as-errors --js-engine=none --variables-files=etc/scons/xcode_ios.vars CPPPATH="$(dirname $PWD)/mongo-c-driver/install/include/libbson-1.0 $(dirname $PWD)/mongo-c-driver/install/include/libmongoc-1.0" LIBPATH="$(dirname $PWD)/mongo-c-driver/install/lib" all
python: python2.7
disable_unit_tests: true
tasks:
@@ -6256,7 +6271,7 @@ buildvariants:
compile_env: DEVELOPER_DIR=/Applications/Xcode8.3.app
compile_flags: -j$(sysctl -n hw.logicalcpu) --dbg=on --disable-warnings-as-errors --js-engine=none --variables-files=etc/scons/xcode_ios_sim.vars CPPPATH="$(dirname $PWD)/mongo-c-driver/install/include/libbson-1.0 $(dirname $PWD)/mongo-c-driver/install/include/libmongoc-1.0" LIBPATH="$(dirname $PWD)/mongo-c-driver/install/lib" all
python: python2.7
- disable_unit_tests: true
+ disable_unit_tests: true
enable_ios_sim_tests: true
tasks:
- name: compile_all
@@ -6403,6 +6418,11 @@ buildvariants:
- name: jstestfuzz_sharded_WT
- name: jstestfuzz_replication_initsync
- name: jstestfuzz_replication_initsync_WT
+ - name: master_slave
+ - name: master_slave_WT
+ - name: master_slave_auth
+ - name: master_slave_jscore_passthrough
+ - name: master_slave_jscore_passthrough_WT
- name: mmap
- name: mongosTest
- name: multiversion
@@ -6418,7 +6438,6 @@ buildvariants:
- name: parallel_compatibility
- name: parallel_compatibility_WT
- name: read_concern_linearizable_passthrough
- - name: session_jscore_passthrough_WT
distros:
- rhel62-large
- name: read_concern_linearizable_passthrough_WT
@@ -6473,14 +6492,13 @@ buildvariants:
- name: replica_sets_kill_secondaries_jscore_passthrough_WT
distros:
- rhel62-large
- - name: master_slave
- - name: master_slave_WT
- - name: master_slave_auth
- - name: master_slave_jscore_passthrough
- - name: master_slave_jscore_passthrough_WT
+ - name: retryable_writes_jscore_passthrough_WT
+ distros:
+ - rhel62-large
- name: rlp
- name: rlp_WT
- name: sasl
+ - name: session_jscore_passthrough_WT
- name: sharded_collections_jscore_passthrough
- name: sharded_collections_jscore_passthrough_WT
- name: sharding
@@ -6610,6 +6628,11 @@ buildvariants:
- name: jsCore_minimum_batch_size_WT
- name: jsCore_op_query
- name: jsCore_op_query_WT
+ - name: master_slave
+ - name: master_slave_WT
+ - name: master_slave_auth
+ - name: master_slave_jscore_passthrough
+ - name: master_slave_jscore_passthrough_WT
- name: mmap
- name: mongosTest
- name: multiversion
@@ -6645,12 +6668,9 @@ buildvariants:
- name: replica_sets_resync_static_jscore_passthrough
- name: replica_sets_resync_static_jscore_passthrough_WT
- name: replica_sets_kill_secondaries_jscore_passthrough_WT
- - name: master_slave
- - name: master_slave_WT
- - name: master_slave_auth
- - name: master_slave_jscore_passthrough
- - name: master_slave_jscore_passthrough_WT
+ - name: retryable_writes_jscore_passthrough_WT
- name: sasl
+ - name: session_jscore_passthrough_WT
- name: sharded_collections_jscore_passthrough
- name: sharded_collections_jscore_passthrough_WT
- name: sharding
@@ -8662,6 +8682,9 @@ buildvariants:
- name: jstestfuzz_concurrent_sharded_WT
- name: jstestfuzz_replication_WT
- name: jstestfuzz_sharded_WT
+ - name: master_slave_WT
+ - name: master_slave_auth
+ - name: master_slave_jscore_passthrough
- name: mongosTest
- name: noPassthrough
- name: noPassthroughWithMongod
@@ -8673,9 +8696,7 @@ buildvariants:
- name: replica_sets_auth
- name: replica_sets_pv0
- name: replica_sets_jscore_passthrough
- - name: master_slave_WT
- - name: master_slave_auth
- - name: master_slave_jscore_passthrough
+ - name: retryable_writes_jscore_passthrough_WT
- name: rlp
- name: sasl
- name: session_jscore_passthrough_WT
@@ -9106,6 +9127,11 @@ buildvariants:
- name: jsCore_op_query
- name: jsCore_op_query_WT
- name: jsonSchema
+ - name: master_slave
+ - name: master_slave_WT
+ - name: master_slave_auth
+ - name: master_slave_jscore_passthrough
+ - name: master_slave_jscore_passthrough_WT
- name: mmap
- name: mongosTest
- name: multiversion
@@ -9141,11 +9167,7 @@ buildvariants:
- name: replica_sets_resync_static_jscore_passthrough
- name: replica_sets_resync_static_jscore_passthrough_WT
- name: replica_sets_kill_secondaries_jscore_passthrough_WT
- - name: master_slave
- - name: master_slave_WT
- - name: master_slave_auth
- - name: master_slave_jscore_passthrough
- - name: master_slave_jscore_passthrough_WT
+ - name: retryable_writes_jscore_passthrough_WT
- name: sasl
- name: session_jscore_passthrough_WT
- name: sharded_collections_jscore_passthrough
@@ -9290,6 +9312,11 @@ buildvariants:
- name: jsCore_op_query
- name: jsCore_op_query_WT
- name: jsonSchema
+ - name: master_slave
+ - name: master_slave_WT
+ - name: master_slave_auth
+ - name: master_slave_jscore_passthrough
+ - name: master_slave_jscore_passthrough_WT
- name: mmap
- name: mongosTest
- name: multiversion
@@ -9325,11 +9352,7 @@ buildvariants:
- name: replica_sets_resync_static_jscore_passthrough
- name: replica_sets_resync_static_jscore_passthrough_WT
- name: replica_sets_kill_secondaries_jscore_passthrough_WT
- - name: master_slave
- - name: master_slave_WT
- - name: master_slave_auth
- - name: master_slave_jscore_passthrough
- - name: master_slave_jscore_passthrough_WT
+ - name: retryable_writes_jscore_passthrough_WT
- name: sasl
- name: session_jscore_passthrough_WT
- name: sharded_collections_jscore_passthrough
diff --git a/jstests/core/currentop.js b/jstests/core/currentop.js
index d1e360c12c0..a27fbbd47e2 100644
--- a/jstests/core/currentop.js
+++ b/jstests/core/currentop.js
@@ -16,11 +16,20 @@
// Wait until the write appears in the currentOp output reporting that it is waiting for a lock.
assert.soon(
function() {
- return db.currentOp({
- ns: coll.getFullName(),
- "locks.Global": "w",
- "waitingForLock": true,
- }).inprog.length === 1;
+ const ops = db.currentOp({
+ $and: [
+ {"locks.Global": "w", waitingForLock: true},
+ // Depending on whether CurOp::setNS_inlock() has been called, the "ns" field
+ // may either be the full collection name or the command namespace.
+ {
+ $or: [
+ {ns: coll.getFullName()},
+ {ns: db.$cmd.getFullName(), "command.insert": coll.getName()}
+ ]
+ }
+ ]
+ });
+ return ops.inprog.length === 1;
},
function() {
return "Failed to find blocked insert in currentOp() output: " + tojson(db.currentOp());