SERVER-88970 Added yaml formatting to server repo

GitOrigin-RevId: 35db3811d8f749edd5b79ba910adcbc1ceb54cc4
This commit is contained in:
Alex Neben 2024-04-03 16:12:53 -07:00 committed by MongoDB Bot
parent 364e04a8db
commit b665258d9d
498 changed files with 42618 additions and 39579 deletions

View File

@ -12,19 +12,19 @@ rules:
no-useless-escape: 0
no-irregular-whitespace: 0
no-inner-declarations: 0
no-unused-vars: [0, { "varsIgnorePattern": "^_", "args": "none" }]
no-unused-vars: [0, {"varsIgnorePattern": "^_", "args": "none"}]
no-empty: 0
no-redeclare: 0
no-constant-condition: 0
no-loss-of-precision: 0
no-restricted-syntax: [
'error',
{
message: "Invalid load call. Please convert your library to a module and import it instead.",
selector:
'CallExpression > Identifier[name="load"]'
}
]
no-restricted-syntax:
[
"error",
{
message: "Invalid load call. Please convert your library to a module and import it instead.",
selector: 'CallExpression > Identifier[name="load"]',
},
]
globals:
TestData: true
@ -237,4 +237,3 @@ globals:
helloStatePrompt: true
_validateMemberIndex: true
help: true

View File

@ -5,10 +5,12 @@
*
!*/
# Do not ignore markdown
# We are only going to do markdown file formatting for now
# Do not ignore markdown and yaml
# We are only going to do markdown and yaml file formatting for now
# Hopefully we will use prettier for more file types in the future
!*.md
!*.yml
!*.yaml
# Ignore all template files
# When we eventually enable prettier on javascript these files are invalid and should be ignored
@ -17,5 +19,14 @@
# Ignore .yy files since prettier seems to think these are json files
**/*.yy
# Ignored generated resmoke suites
buildscripts/resmokeconfig/matrix_suites/generated_suites/*.yml
# Ignore generated pnpm lock file
pnpm-lock.yaml
# Ignore version expansions that are created in evergreen
version_expansions.yml
# Ignore all formatting in third_party/*
src/third_party

View File

@ -1,4 +1,3 @@
{
"tabWidth": 4,
"bracketSpacing": false
}

View File

@ -64,6 +64,9 @@
"editor.formatOnSave": true,
"editor.defaultFormatter": "eeyore.yapf"
},
"[starlark]": {
"editor.defaultFormatter": "BazelBuild.vscode-bazel"
},
},
"extensions": {
"recommendations": [

View File

@ -4,15 +4,15 @@ Welcome to MongoDB!
## Components
- `mongod` - The database server.
- `mongos` - Sharding router.
- `mongo` - The database shell (uses interactive javascript).
- `mongod` - The database server.
- `mongos` - Sharding router.
- `mongo` - The database shell (uses interactive javascript).
## Download MongoDB
- https://www.mongodb.com/try/download/community
- Using homebrew `brew tap mongodb/brew`
- Using docker image `docker pull mongo`
- https://www.mongodb.com/try/download/community
- Using homebrew `brew tap mongodb/brew`
- Using docker image `docker pull mongo`
## Building
@ -65,9 +65,9 @@ This will generate RPM and Debian packages.
## Learn MongoDB
- Documentation - https://docs.mongodb.com/manual/
- Developer Center - https://www.mongodb.com/developer/
- MongoDB University - https://learn.mongodb.com
- Documentation - https://docs.mongodb.com/manual/
- Developer Center - https://www.mongodb.com/developer/
- MongoDB University - https://learn.mongodb.com
## Cloud Hosted MongoDB
@ -75,13 +75,13 @@ https://www.mongodb.com/cloud/atlas
## Forums
- https://mongodb.com/community/forums/
- https://mongodb.com/community/forums/
Technical questions about using MongoDB.
Technical questions about using MongoDB.
- https://mongodb.com/community/forums/c/server-dev
- https://mongodb.com/community/forums/c/server-dev
Technical questions about building and developing MongoDB.
Technical questions about building and developing MongoDB.
## LICENSE

View File

@ -131,21 +131,3 @@ npm_translate_lock(
load("@npm//:repositories.bzl", "npm_repositories")
npm_repositories()
# TODO: This comes with a lot of built in formatters
# Since we are only using prettier for now we do not use the others
# See https://github.com/aspect-build/rules_lint/releases/tag/v0.11.0 for all supported formatters
http_archive(
name = "aspect_rules_lint",
sha256 = "41fad363f11ccab46a244f93f8ccb0f442bc235e606d2fad87801987ad0759b1",
strip_prefix = "rules_lint-0.12.0",
urls = [
# Implements retry by relisting each url multiple times to be used as a failover.
# TODO(SERVER-86719): Re-implement http_archive to allow sleeping between retries
"https://github.com/aspect-build/rules_lint/releases/download/v0.12.0/rules_lint-v0.12.0.tar.gz",
"https://github.com/aspect-build/rules_lint/releases/download/v0.12.0/rules_lint-v0.12.0.tar.gz",
"https://github.com/aspect-build/rules_lint/releases/download/v0.12.0/rules_lint-v0.12.0.tar.gz",
"https://github.com/aspect-build/rules_lint/releases/download/v0.12.0/rules_lint-v0.12.0.tar.gz",
"https://github.com/aspect-build/rules_lint/releases/download/v0.12.0/rules_lint-v0.12.0.tar.gz",
],
)

View File

@ -1,4 +1,4 @@
# MongoDB Bazel Documentation
- [Developer Workflow](docs/developer_workflow.md)
- [Best Practices](docs/best_practices.md)
- [Developer Workflow](docs/developer_workflow.md)
- [Best Practices](docs/best_practices.md)

View File

@ -50,9 +50,9 @@ The divergence from SCons is that now source files have to be declared in additi
The DevProd Build Team created MongoDB-specific macros for the different types of build targets you may want to specify. These include:
- mongo_cc_binary
- mongo_cc_library
- idl_generator
- mongo_cc_binary
- mongo_cc_library
- idl_generator
Creating a new library is similar to the steps above for creating a new binary. A new **mongo_cc_library** definition would be created in the BUILD.bazel file.

View File

@ -6,19 +6,19 @@ To install the necessary credentials to enable remote execution, run scons.py wi
(Only if not in the Engineering org)
- Request access to the MANA group https://mana.corp.mongodbgov.com/resources/659ec4b9bccf3819e5608712
- Request access to the MANA group https://mana.corp.mongodbgov.com/resources/659ec4b9bccf3819e5608712
(For everyone)
- Go to https://sodalite.cluster.engflow.com/gettingstarted
- Login with OKTA, then click the "GENERATE AND DOWNLOAD MTLS CERTIFICATE" button
- (If logging in with OKTA doesn't work) Login with Google using your MongoDB email, then click the "GENERATE AND DOWNLOAD MTLS CERTIFICATE" button
- On your local system (usually your MacBook), open a shell terminal and, after setting the variables on the first three lines, run:
- Go to https://sodalite.cluster.engflow.com/gettingstarted
- Login with OKTA, then click the "GENERATE AND DOWNLOAD MTLS CERTIFICATE" button
- (If logging in with OKTA doesn't work) Login with Google using your MongoDB email, then click the "GENERATE AND DOWNLOAD MTLS CERTIFICATE" button
- On your local system (usually your MacBook), open a shell terminal and, after setting the variables on the first three lines, run:
REMOTE_USER=<SSH User from https://spruce.mongodb.com/spawn/host>
REMOTE_HOST=<DNS Name from https://spruce.mongodb.com/spawn/host>
ZIP_FILE=~/Downloads/engflow-mTLS.zip
REMOTE_USER=<SSH User from https://spruce.mongodb.com/spawn/host>
REMOTE_HOST=<DNS Name from https://spruce.mongodb.com/spawn/host>
ZIP_FILE=~/Downloads/engflow-mTLS.zip
curl https://raw.githubusercontent.com/mongodb/mongo/master/buildscripts/setup_engflow_creds.sh -o setup_engflow_creds.sh
chmod +x ./setup_engflow_creds.sh
./setup_engflow_creds.sh $REMOTE_USER $REMOTE_HOST $ZIP_FILE
curl https://raw.githubusercontent.com/mongodb/mongo/master/buildscripts/setup_engflow_creds.sh -o setup_engflow_creds.sh
chmod +x ./setup_engflow_creds.sh
./setup_engflow_creds.sh $REMOTE_USER $REMOTE_HOST $ZIP_FILE

View File

@ -1,4 +1,3 @@
load("@aspect_rules_lint//format:defs.bzl", "multi_formatter_binary")
load("@npm//:prettier/package_json.bzl", prettier = "bin")
# TODO: SERVER-82329 eslint binary should almost exactly mirror prettier binary
@ -12,8 +11,14 @@ prettier.prettier_binary(
env = {"BAZEL_BINDIR": "."},
)
multi_formatter_binary(
py_binary(
name = "format",
markdown = ":prettier",
srcs = ["format.py"],
args = [
"--prettier",
"$(location :prettier)",
],
data = [":prettier"],
main = "format.py",
visibility = ["//visibility:public"],
)

50
bazel/format/format.py Normal file
View File

@ -0,0 +1,50 @@
import argparse
import os
import pathlib
import subprocess
def run_prettier(prettier: pathlib.Path, check: bool) -> int:
try:
command = [prettier, "."]
if check:
command.append("--check")
else:
command.append("--write")
print(f"Running command: '{command}'")
subprocess.run(command, check=True)
except subprocess.CalledProcessError:
print("Found formatting errors. Run 'bazel run //:format' to fix")
print(
"If bazel is not installed, visit https://github.com/bazelbuild/bazelisk/blob/master/README.md#installation for installation steps."
)
return 1
if check:
print("No formatting errors")
return 0
def main() -> int:
# If we are running in bazel, default the directory to the workspace
default_dir = os.environ.get("BUILD_WORKSPACE_DIRECTORY")
if not default_dir:
print("This script must be run though bazel. Please run 'bazel run //:format' instead")
return 1
parser = argparse.ArgumentParser(prog='Format',
description='This script formats code in mongodb')
parser.add_argument("--check", help="Run in check mode", default=False, action="store_true")
parser.add_argument("--prettier", help="Set the path to prettier", required=True,
type=pathlib.Path)
args = parser.parse_args()
prettier_path: pathlib.Path = args.prettier.resolve()
os.chdir(default_dir)
return run_prettier(prettier_path, args.check)
if __name__ == "__main__":
exit(main())

View File

@ -4,5 +4,5 @@ version: 1.0.0
filters:
- "*":
approvers:
- 10gen/devprod-correctness
- 10gen/devprod-build
- 10gen/devprod-correctness
- 10gen/devprod-build

View File

@ -207,14 +207,14 @@ To create a new topology for Antithesis testing is easy & requires a few simple
These are the required updates to `evergreen/antithesis_image_build.sh`:
- Add the following command for each of your `mongos` and `mongod` containers in your topology to
create your log directories.
- Add the following command for each of your `mongos` and `mongod` containers in your topology to
create your log directories.
```shell
mkdir -p antithesis/topologies/[topology_name]/{logs,data}/[container_name]
```
- Build an image for your new topology ending in `-config`
- Build an image for your new topology ending in `-config`
```shell
cd [your_topology_dir]
@ -224,7 +224,7 @@ sudo docker build . -t [your-topology-name]-config:$tag
These are the required updates to `evergreen/antithesis_image_push.sh`:
- Push your new image to the Antithesis Docker registry
- Push your new image to the Antithesis Docker registry
```shell
sudo docker tag "[your-topology-name]-config:$tag" "us-central1-docker.pkg.dev/molten-verve-216720/mongodb-repository/[your-topology-name]-config:$tag"

View File

@ -1,72 +1,72 @@
version: '3.0'
version: "3.0"
services:
database1:
container_name: database1
hostname: database1
image: mongo-binaries:evergreen-latest-master
command: /bin/bash /scripts/database_init.sh
volumes:
- ./logs/database1:/var/log/mongodb/
- ./scripts:/scripts/
- ./data/database1:/data/db/
networks:
antithesis-net:
ipv4_address: 10.20.20.3
# Set the an IPv4 with an address of 10.20.20.130 or higher
# to be ignored by the fault injector
#
database2:
container_name: database2
hostname: database2
image: mongo-binaries:evergreen-latest-master
command: /bin/bash /scripts/database_init.sh
volumes:
- ./logs/database2:/var/log/mongodb/
- ./scripts:/scripts/
- ./data/database2:/data/db/
networks:
antithesis-net:
ipv4_address: 10.20.20.4
# Set the an IPv4 with an address of 10.20.20.130 or higher
# to be ignored by the fault injector
#
database3:
container_name: database3
hostname: database3
image: mongo-binaries:evergreen-latest-master
command: /bin/bash /scripts/database_init.sh
volumes:
- ./logs/database3:/var/log/mongodb/
- ./scripts:/scripts/
- ./data/database3:/data/db/
networks:
antithesis-net:
ipv4_address: 10.20.20.5
# Set the an IPv4 with an address of 10.20.20.130 or higher
# to be ignored by the fault injector
database1:
container_name: database1
hostname: database1
image: mongo-binaries:evergreen-latest-master
command: /bin/bash /scripts/database_init.sh
volumes:
- ./logs/database1:/var/log/mongodb/
- ./scripts:/scripts/
- ./data/database1:/data/db/
networks:
antithesis-net:
ipv4_address: 10.20.20.3
# Set the an IPv4 with an address of 10.20.20.130 or higher
# to be ignored by the fault injector
#
database2:
container_name: database2
hostname: database2
image: mongo-binaries:evergreen-latest-master
command: /bin/bash /scripts/database_init.sh
volumes:
- ./logs/database2:/var/log/mongodb/
- ./scripts:/scripts/
- ./data/database2:/data/db/
networks:
antithesis-net:
ipv4_address: 10.20.20.4
# Set the an IPv4 with an address of 10.20.20.130 or higher
# to be ignored by the fault injector
#
database3:
container_name: database3
hostname: database3
image: mongo-binaries:evergreen-latest-master
command: /bin/bash /scripts/database_init.sh
volumes:
- ./logs/database3:/var/log/mongodb/
- ./scripts:/scripts/
- ./data/database3:/data/db/
networks:
antithesis-net:
ipv4_address: 10.20.20.5
# Set the an IPv4 with an address of 10.20.20.130 or higher
# to be ignored by the fault injector
workload:
container_name: workload
hostname: workload
image: workload:evergreen-latest-master
command: /bin/bash /scripts/workload_init.sh
volumes:
- ./logs/workload:/var/log/resmoke/
- ./scripts:/scripts/
depends_on:
- "database1"
- "database2"
- "database3"
networks:
antithesis-net:
ipv4_address: 10.20.20.130
# The subnet provided here is an example
# An alternative subnet can be used
workload:
container_name: workload
hostname: workload
image: workload:evergreen-latest-master
command: /bin/bash /scripts/workload_init.sh
volumes:
- ./logs/workload:/var/log/resmoke/
- ./scripts:/scripts/
depends_on:
- "database1"
- "database2"
- "database3"
networks:
antithesis-net:
ipv4_address: 10.20.20.130
# The subnet provided here is an example
# An alternative subnet can be used
networks:
antithesis-net:
driver: bridge
ipam:
config:
- subnet: 10.20.20.0/24
antithesis-net:
driver: bridge
ipam:
config:
- subnet: 10.20.20.0/24

View File

@ -1,185 +1,185 @@
version: '3.0'
version: "3.0"
services:
configsvr1:
container_name: configsvr1
hostname: configsvr1
image: mongo-binaries:evergreen-latest-master
volumes:
- ./logs/configsvr1:/var/log/mongodb/
- ./scripts:/scripts/
- ./data/configsvr1:/data/configdb/
command: /bin/bash /scripts/configsvr_init.sh
networks:
antithesis-net:
ipv4_address: 10.20.20.6
# Set the an IPv4 with an address of 10.20.20.130 or higher
# to be ignored by the fault injector
#
configsvr1:
container_name: configsvr1
hostname: configsvr1
image: mongo-binaries:evergreen-latest-master
volumes:
- ./logs/configsvr1:/var/log/mongodb/
- ./scripts:/scripts/
- ./data/configsvr1:/data/configdb/
command: /bin/bash /scripts/configsvr_init.sh
networks:
antithesis-net:
ipv4_address: 10.20.20.6
# Set the an IPv4 with an address of 10.20.20.130 or higher
# to be ignored by the fault injector
#
configsvr2:
container_name: configsvr2
hostname: configsvr2
image: mongo-binaries:evergreen-latest-master
volumes:
- ./logs/configsvr2:/var/log/mongodb/
- ./scripts:/scripts/
- ./data/configsvr2:/data/configdb/
command: /bin/bash /scripts/configsvr_init.sh
networks:
antithesis-net:
ipv4_address: 10.20.20.7
# Set the an IPv4 with an address of 10.20.20.130 or higher
# to be ignored by the fault injector
#
configsvr2:
container_name: configsvr2
hostname: configsvr2
image: mongo-binaries:evergreen-latest-master
volumes:
- ./logs/configsvr2:/var/log/mongodb/
- ./scripts:/scripts/
- ./data/configsvr2:/data/configdb/
command: /bin/bash /scripts/configsvr_init.sh
networks:
antithesis-net:
ipv4_address: 10.20.20.7
# Set the an IPv4 with an address of 10.20.20.130 or higher
# to be ignored by the fault injector
#
configsvr3:
container_name: configsvr3
hostname: configsvr3
image: mongo-binaries:evergreen-latest-master
volumes:
- ./logs/configsvr3:/var/log/mongodb/
- ./scripts:/scripts/
- ./data/configsvr3:/data/configdb/
command: /bin/bash /scripts/configsvr_init.sh
networks:
antithesis-net:
ipv4_address: 10.20.20.8
# Set the an IPv4 with an address of 10.20.20.130 or higher
# to be ignored by the fault injector
#
configsvr3:
container_name: configsvr3
hostname: configsvr3
image: mongo-binaries:evergreen-latest-master
volumes:
- ./logs/configsvr3:/var/log/mongodb/
- ./scripts:/scripts/
- ./data/configsvr3:/data/configdb/
command: /bin/bash /scripts/configsvr_init.sh
networks:
antithesis-net:
ipv4_address: 10.20.20.8
# Set the an IPv4 with an address of 10.20.20.130 or higher
# to be ignored by the fault injector
#
database1:
container_name: database1
hostname: database1
image: mongo-binaries:evergreen-latest-master
volumes:
- ./logs/database1:/var/log/mongodb/
- ./scripts:/scripts/
- ./data/database1:/data/db/
command: /bin/bash /scripts/database_init.sh Shard1
networks:
antithesis-net:
ipv4_address: 10.20.20.3
# Set the an IPv4 with an address of 10.20.20.130 or higher
# to be ignored by the fault injector
#
database2:
container_name: database2
hostname: database2
image: mongo-binaries:evergreen-latest-master
volumes:
- ./logs/database2:/var/log/mongodb/
- ./scripts:/scripts/
- ./data/database2:/data/db/
command: /bin/bash /scripts/database_init.sh Shard1
networks:
antithesis-net:
ipv4_address: 10.20.20.4
# Set the an IPv4 with an address of 10.20.20.130 or higher
# to be ignored by the fault injector
#
database3:
container_name: database3
hostname: database3
image: mongo-binaries:evergreen-latest-master
volumes:
- ./logs/database3:/var/log/mongodb/
- ./scripts:/scripts/
- ./data/database3:/data/db/
command: /bin/bash /scripts/database_init.sh Shard1
networks:
antithesis-net:
ipv4_address: 10.20.20.5
# Set the an IPv4 with an address of 10.20.20.130 or higher
# to be ignored by the fault injector
database1:
container_name: database1
hostname: database1
image: mongo-binaries:evergreen-latest-master
volumes:
- ./logs/database1:/var/log/mongodb/
- ./scripts:/scripts/
- ./data/database1:/data/db/
command: /bin/bash /scripts/database_init.sh Shard1
networks:
antithesis-net:
ipv4_address: 10.20.20.3
# Set the an IPv4 with an address of 10.20.20.130 or higher
# to be ignored by the fault injector
#
database2:
container_name: database2
hostname: database2
image: mongo-binaries:evergreen-latest-master
volumes:
- ./logs/database2:/var/log/mongodb/
- ./scripts:/scripts/
- ./data/database2:/data/db/
command: /bin/bash /scripts/database_init.sh Shard1
networks:
antithesis-net:
ipv4_address: 10.20.20.4
# Set the an IPv4 with an address of 10.20.20.130 or higher
# to be ignored by the fault injector
#
database3:
container_name: database3
hostname: database3
image: mongo-binaries:evergreen-latest-master
volumes:
- ./logs/database3:/var/log/mongodb/
- ./scripts:/scripts/
- ./data/database3:/data/db/
command: /bin/bash /scripts/database_init.sh Shard1
networks:
antithesis-net:
ipv4_address: 10.20.20.5
# Set the an IPv4 with an address of 10.20.20.130 or higher
# to be ignored by the fault injector
database4:
container_name: database4
hostname: database4
image: mongo-binaries:evergreen-latest-master
volumes:
- ./logs/database4:/var/log/mongodb/
- ./scripts:/scripts/
- ./data/database4:/data/db/
command: /bin/bash /scripts/database_init.sh Shard2
networks:
antithesis-net:
ipv4_address: 10.20.20.10
# Set the an IPv4 with an address of 10.20.20.130 or higher
# to be ignored by the fault injector
#
database5:
container_name: database5
hostname: database5
image: mongo-binaries:evergreen-latest-master
volumes:
- ./logs/database5:/var/log/mongodb/
- ./scripts:/scripts/
- ./data/database5:/data/db/
command: /bin/bash /scripts/database_init.sh Shard2
networks:
antithesis-net:
ipv4_address: 10.20.20.11
# Set the an IPv4 with an address of 10.20.20.130 or higher
# to be ignored by the fault injector
#
database6:
container_name: database6
hostname: database6
image: mongo-binaries:evergreen-latest-master
volumes:
- ./logs/database6:/var/log/mongodb/
- ./scripts:/scripts/
- ./data/database6:/data/db/
command: /bin/bash /scripts/database_init.sh Shard2
networks:
antithesis-net:
ipv4_address: 10.20.20.12
# Set the an IPv4 with an address of 10.20.20.130 or higher
# to be ignored by the fault injector
database4:
container_name: database4
hostname: database4
image: mongo-binaries:evergreen-latest-master
volumes:
- ./logs/database4:/var/log/mongodb/
- ./scripts:/scripts/
- ./data/database4:/data/db/
command: /bin/bash /scripts/database_init.sh Shard2
networks:
antithesis-net:
ipv4_address: 10.20.20.10
# Set the an IPv4 with an address of 10.20.20.130 or higher
# to be ignored by the fault injector
#
database5:
container_name: database5
hostname: database5
image: mongo-binaries:evergreen-latest-master
volumes:
- ./logs/database5:/var/log/mongodb/
- ./scripts:/scripts/
- ./data/database5:/data/db/
command: /bin/bash /scripts/database_init.sh Shard2
networks:
antithesis-net:
ipv4_address: 10.20.20.11
# Set the an IPv4 with an address of 10.20.20.130 or higher
# to be ignored by the fault injector
#
database6:
container_name: database6
hostname: database6
image: mongo-binaries:evergreen-latest-master
volumes:
- ./logs/database6:/var/log/mongodb/
- ./scripts:/scripts/
- ./data/database6:/data/db/
command: /bin/bash /scripts/database_init.sh Shard2
networks:
antithesis-net:
ipv4_address: 10.20.20.12
# Set the an IPv4 with an address of 10.20.20.130 or higher
# to be ignored by the fault injector
mongos:
container_name: mongos
hostname: mongos
image: mongo-binaries:evergreen-latest-master
volumes:
- ./logs/mongos:/var/log/mongodb/
- ./scripts:/scripts/
command: python3 /scripts/mongos_init.py
depends_on:
- "database1"
- "database2"
- "database3"
- "database4"
- "database5"
- "database6"
- "configsvr1"
- "configsvr2"
- "configsvr3"
networks:
antithesis-net:
ipv4_address: 10.20.20.9
# The subnet provided here is an example
# An alternative subnet can be used
workload:
container_name: workload
hostname: workload
image: workload:evergreen-latest-master
volumes:
- ./logs/workload:/var/log/resmoke/
- ./scripts:/scripts/
command: python3 /scripts/workload_init.py
depends_on:
- "mongos"
networks:
antithesis-net:
ipv4_address: 10.20.20.130
# The subnet provided here is an example
# An alternative subnet can be used
mongos:
container_name: mongos
hostname: mongos
image: mongo-binaries:evergreen-latest-master
volumes:
- ./logs/mongos:/var/log/mongodb/
- ./scripts:/scripts/
command: python3 /scripts/mongos_init.py
depends_on:
- "database1"
- "database2"
- "database3"
- "database4"
- "database5"
- "database6"
- "configsvr1"
- "configsvr2"
- "configsvr3"
networks:
antithesis-net:
ipv4_address: 10.20.20.9
# The subnet provided here is an example
# An alternative subnet can be used
workload:
container_name: workload
hostname: workload
image: workload:evergreen-latest-master
volumes:
- ./logs/workload:/var/log/resmoke/
- ./scripts:/scripts/
command: python3 /scripts/workload_init.py
depends_on:
- "mongos"
networks:
antithesis-net:
ipv4_address: 10.20.20.130
# The subnet provided here is an example
# An alternative subnet can be used
networks:
antithesis-net:
driver: bridge
ipam:
config:
- subnet: 10.20.20.0/24
antithesis-net:
driver: bridge
ipam:
config:
- subnet: 10.20.20.0/24

View File

@ -26,13 +26,13 @@ Ex:
```yaml
selector:
roots:
- jstests/aggregation/**/*.js
exclude_files:
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
exclude_with_any_tags:
- requires_pipeline_optimization
roots:
- jstests/aggregation/**/*.js
exclude_files:
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
exclude_with_any_tags:
- requires_pipeline_optimization
```
### selector.roots
@ -56,7 +56,7 @@ Ex:
```yaml
executor:
archive:
archive:
---
config:
---
@ -77,9 +77,9 @@ Ex:
```yaml
archive:
hooks:
- Hook1
- Hook2
hooks:
- Hook1
- Hook2
---
tests: true
```
@ -95,17 +95,17 @@ Ex:
```yaml
config:
shell_options:
global_vars:
TestData:
defaultReadConcernLevel: null
enableMajorityReadConcern: ""
nodb: ""
gssapiServiceName: "mockservice"
eval: >-
var testingReplication = true;
load('jstests/libs/override_methods/set_read_and_write_concerns.js');
load('jstests/libs/override_methods/enable_causal_consistency_without_read_pref.js');
shell_options:
global_vars:
TestData:
defaultReadConcernLevel: null
enableMajorityReadConcern: ""
nodb: ""
gssapiServiceName: "mockservice"
eval: >-
var testingReplication = true;
load('jstests/libs/override_methods/set_read_and_write_concerns.js');
load('jstests/libs/override_methods/enable_causal_consistency_without_read_pref.js');
```
Above is an example of the most common `test_kind` -- `js_test`. `js_test` uses `shell_options` to
@ -138,14 +138,14 @@ Ex:
```yaml
hooks:
- class: CheckReplOplogs
- class: CheckReplDBHash
- class: ValidateCollections
- class: CleanEveryN
n: 20
- class: MyHook
param1: something
param2: somethingelse
- class: CheckReplOplogs
- class: CheckReplDBHash
- class: ValidateCollections
- class: CleanEveryN
n: 20
- class: MyHook
param1: something
param2: somethingelse
```
The hook name in the `.yml` must match its Python class name in the
@ -164,18 +164,18 @@ Ex:
```yaml
fixture:
class: ShardedClusterFixture
num_shards: 2
mongos_options:
bind_ip_all: ""
set_parameters:
enableTestCommands: 1
mongod_options:
bind_ip_all: ""
set_parameters:
enableTestCommands: 1
periodicNoopIntervalSecs: 1
writePeriodicNoops: true
class: ShardedClusterFixture
num_shards: 2
mongos_options:
bind_ip_all: ""
set_parameters:
enableTestCommands: 1
mongod_options:
bind_ip_all: ""
set_parameters:
enableTestCommands: 1
periodicNoopIntervalSecs: 1
writePeriodicNoops: true
```
## Examples

View File

@ -4,51 +4,51 @@
1. Install the latest [Node.js](https://nodejs.org/en/download/) if you don't have it.
2. Install [pkg](https://www.npmjs.com/package/pkg) with npm.
```
npm install -g pkg
```
```
npm install -g pkg
```
3. Get [ESLint](https://github.com/eslint/eslint) source code.
```
git clone git@github.com:eslint/eslint.git
```
```
git clone git@github.com:eslint/eslint.git
```
4. Checkout the latest version using git tag.
```
cd eslint
git checkout v${version}
```
```
cd eslint
git checkout v${version}
```
5. Add pkg options to `package.json` file.
```
"pkg": {
"scripts": [ "conf/**/*", "lib/**/*", "messages/**/*" ],
"targets": [ "linux-x64", "macos-x64" ]
# "targets": [ "linux-arm" ]
},
```
```
"pkg": {
"scripts": [ "conf/**/*", "lib/**/*", "messages/**/*" ],
"targets": [ "linux-x64", "macos-x64" ]
# "targets": [ "linux-arm" ]
},
```
6. Run pkg command to make ESLint executables.
```
npm install
pkg .
```
```
npm install
pkg .
```
7. Check that executables are working.
Copy files to somewhere in your PATH and try to run it.
Depending on your system
Depending on your system
```
eslint-linux --help
```
```
eslint-linux --help
```
or
or
```
eslint-macos --help
```
```
eslint-macos --help
```
or (if you are on arm)
or (if you are on arm)
```
eslint --help
```
```
eslint --help
```
(\*) If executable fails to find some .js files there are [extra steps](#extra-steps)
required to be done before step 6.

View File

@ -1,17 +1,17 @@
# options passed to IWYU
iwyu_options:
- '--mapping_file=etc/iwyu_mapping.imp'
- '--no_fwd_decls'
- '--prefix_header_includes=add'
- '--transitive_includes_only'
- "--mapping_file=etc/iwyu_mapping.imp"
- "--no_fwd_decls"
- "--prefix_header_includes=add"
- "--transitive_includes_only"
# options passed to the fix script
fix_options:
- '--blank_lines'
- '--nocomments'
- '--noreorder'
- '--separate_project_includes=mongo'
- '--safe_headers'
- "--blank_lines"
- "--nocomments"
- "--noreorder"
- "--separate_project_includes=mongo"
- "--safe_headers"
- '--only_re=^src/mongo\/.*'
# TODO SERVER-77051 we will eventually turn this on when our codebase is cleaned up with out.
# - '--nosafe_headers'
@ -21,17 +21,17 @@ fix_options:
# since this is targeting IWYU added headers
no_includes:
# avoid boost crazyness
- 'boost/.+/detail/.+'
- 'asio/impl/.+'
- "boost/.+/detail/.+"
- "asio/impl/.+"
- 'boost/.+\.ipp'
# avoid stdlib detail headers
- 'ext/alloc_traits\.h'
- 'ext/type_traits\.h'
- 'cxxabi\.h' # https://github.com/include-what-you-use/include-what-you-use/issues/909
- 'bits/.+'
- "bits/.+"
- 'syscall\.h'
# arch specific
- 'boost/predef/hardware/simd/x86.+'
- "boost/predef/hardware/simd/x86.+"
- 'emmintrin\.h'
# we use a third party format which confuses IWYU
- 'format\.h'
@ -42,24 +42,24 @@ no_includes:
# path prefixes (non regex) to skip
skip_files:
- 'src/third_party'
- 'build/'
- 'src/mongo/tools/mongo_tidy_checks'
- 'src/mongo/util/net' # causes linkage issues
- 'src/mongo/util/text.cpp'
- "src/third_party"
- "build/"
- "src/mongo/tools/mongo_tidy_checks"
- "src/mongo/util/net" # causes linkage issues
- "src/mongo/util/text.cpp"
# IWYU confused on forward declares
- 'src/mongo/db/exec/near.cpp'
- 'src/mongo/db/storage/wiredtiger/wiredtiger_index.cpp'
- "src/mongo/db/exec/near.cpp"
- "src/mongo/db/storage/wiredtiger/wiredtiger_index.cpp"
# Asio is going to need some special treatment, the headers are very finicky
- 'src/mongo/transport/asio'
- "src/mongo/transport/asio"
# causes IWYU to crash:
- 'src/mongo/db/update/update_internal_node.cpp'
- 'src/mongo/db/update/update_array_node.cpp'
- 'src/mongo/db/update/update_object_node.cpp'
- 'src/mongo/db/update/update_array_node_test.cpp'
- 'src/mongo/db/update/update_object_node_test.cpp'
- 'src/mongo/util/options_parser/environment.cpp'
- 'src/mongo/util/options_parser/option_section.cpp'
- "src/mongo/db/update/update_internal_node.cpp"
- "src/mongo/db/update/update_array_node.cpp"
- "src/mongo/db/update/update_object_node.cpp"
- "src/mongo/db/update/update_array_node_test.cpp"
- "src/mongo/db/update/update_object_node_test.cpp"
- "src/mongo/util/options_parser/environment.cpp"
- "src/mongo/util/options_parser/option_section.cpp"
# regex file paths to add keep pragma
# include quotes are angle brackets
@ -68,15 +68,15 @@ keep_includes:
- '<fmt/printf\.h>'
- '<fmt/ranges\.h>'
- '<fmt/chrono\.h>'
- '<yaml-cpp/yaml.h>'
- "<yaml-cpp/yaml.h>"
- '<asio\.hpp>'
- '<boost/utility/in_place_factory\.hpp>'
- '<libunwind.h>'
- '<fstream>' # IWYU messes up template instantiation
- "<libunwind.h>"
- "<fstream>" # IWYU messes up template instantiation
- '"mongo/rpc/object_check\.h"'
- '"mongo/base/init\.h"'
- '"mongo/scripting/mozjs/wrapconstrainedmethod\.h"'
- '"mongo/dbtests/dbtests\.h"' # this is due to using statements in the header
- '"mongo/dbtests/dbtests\.h"' # this is due to using statements in the header
- '"mongo/config\.h"'
- '"mongo/util/overloaded_visitor\.h"'
- '"mongo/db/query/optimizer/node\.h"'

View File

@ -1,16 +1,16 @@
# options passed to IWYU
iwyu_options:
- '--max_line_length=100'
- '--no_fwd_decls'
- '--prefix_header_includes=add'
- '--transitive_includes_only'
- "--max_line_length=100"
- "--no_fwd_decls"
- "--prefix_header_includes=add"
- "--transitive_includes_only"
# options passed to the fix script
fix_options:
- '--blank_lines'
- '--nocomments'
- '--noreorder'
- '--safe_headers'
- "--blank_lines"
- "--nocomments"
- "--noreorder"
- "--safe_headers"
# filename regex to swap no_include in place
# quotes and brackets not included quotes are always assumed

View File

@ -1,22 +1,22 @@
# options passed to IWYU
iwyu_options:
- '--max_line_length=100'
- '--no_fwd_decls'
- '--prefix_header_includes=add'
- '--transitive_includes_only'
- "--max_line_length=100"
- "--no_fwd_decls"
- "--prefix_header_includes=add"
- "--transitive_includes_only"
# options passed to the fix script
fix_options:
- '--blank_lines'
- '--nocomments'
- '--noreorder'
- '--safe_headers'
- "--blank_lines"
- "--nocomments"
- "--noreorder"
- "--safe_headers"
# filename regex to swap no_include in place
# quotes and brackets not included quotes are always assumed
# since this is targeting IWYU added headers
no_includes:
- 'b.h'
- "b.h"
# prefixes (non regex) to skip
skip_files:
@ -24,4 +24,4 @@ skip_files:
# regex file paths to add keep pragma
# include quotes are angle brackets
keep_includes:
- '"a.h"'
- '"a.h"'

View File

@ -11,14 +11,12 @@ storage:
systemLog:
destination: file
logAppend: true
path: %MONGO_LOG_PATH%\mongod.log
path: %MONGO_LOG_PATH%\mongod.log
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1
#processManagement:
#security:

View File

@ -1,14 +1,14 @@
logging:
executor:
format: '[%(name)s] %(asctime)s %(message)s'
format: "[%(name)s] %(asctime)s %(message)s"
handlers:
- class: logging.StreamHandler
fixture:
format: '[%(name)s] %(message)s'
format: "[%(name)s] %(message)s"
handlers:
- class: buildlogger
tests:
format: '[%(name)s] %(message)s'
format: "[%(name)s] %(message)s"
handlers:
- class: buildlogger

View File

@ -1,14 +1,14 @@
logging:
executor:
format: '[%(name)s] %(asctime)s %(message)s'
format: "[%(name)s] %(asctime)s %(message)s"
handlers:
- class: logging.StreamHandler
fixture:
format: '[%(name)s] %(message)s'
format: "[%(name)s] %(message)s"
handlers:
- class: logging.StreamHandler
tests:
format: '[%(name)s] %(message)s'
format: "[%(name)s] %(message)s"
handlers:
- class: logging.StreamHandler

View File

@ -1,14 +1,14 @@
logging:
executor:
format: '[%(name)s] %(asctime)s %(message)s'
format: "[%(name)s] %(asctime)s %(message)s"
handlers:
- class: logging.StreamHandler
fixture:
format: '[%(name)s] %(message)s'
format: "[%(name)s] %(message)s"
handlers:
- class: evergreen
tests:
format: '[%(name)s] %(message)s'
format: "[%(name)s] %(message)s"
handlers:
- class: evergreen

View File

@ -1,18 +1,18 @@
logging:
executor:
format: '[%(name)s] %(asctime)s %(message)s'
format: "[%(name)s] %(asctime)s %(message)s"
handlers:
- class: logging.FileHandler
filename: executor.log
mode: w
fixture:
format: '[%(name)s] %(message)s'
format: "[%(name)s] %(message)s"
handlers:
- class: logging.FileHandler
filename: fixture.log
mode: w
tests:
format: '[%(name)s] %(message)s'
format: "[%(name)s] %(message)s"
handlers:
- class: logging.FileHandler
filename: tests.log

View File

@ -1,10 +1,10 @@
logging:
executor:
handlers:
- class: logging.NullHandler
- class: logging.NullHandler
fixture:
handlers:
- class: logging.NullHandler
- class: logging.NullHandler
tests:
handlers:
- class: logging.NullHandler
- class: logging.NullHandler

View File

@ -1,11 +1,11 @@
base_suite: change_streams
overrides:
- "change_streams.mongos_passthrough"
- "change_streams.sharded_collections_passthrough"
- "change_streams.base_eval"
eval:
- "change_streams.sharded_collections_passthrough_eval"
- "change_streams.causal_consistency"
excludes:
- "change_streams.mongos_passthrough_excludes"
- "change_streams.sharded_collections_passthrough_excludes"
base_suite: change_streams
overrides:
- "change_streams.mongos_passthrough"
- "change_streams.sharded_collections_passthrough"
- "change_streams.base_eval"
eval:
- "change_streams.sharded_collections_passthrough_eval"
- "change_streams.causal_consistency"
excludes:
- "change_streams.mongos_passthrough_excludes"
- "change_streams.sharded_collections_passthrough_excludes"

View File

@ -1,5 +1,5 @@
base_suite: sharding_jscore_passthrough_with_balancer
overrides:
- "embedded_router.embedded_router"
- "embedded_router.embedded_router"
excludes:
- "embedded_router.exclude_auth_tests"
- "embedded_router.exclude_auth_tests"

View File

@ -1,6 +1,6 @@
base_suite: replica_sets_jscore_passthrough
eval:
- "recordids_replicated.enable"
- "recordids_replicated.enable"
excludes:
- "recordids_replicated.excluded_files"
- "recordids_replicated.excluded_files"

View File

@ -6,4 +6,4 @@
shell_options:
global_vars:
TestData:
auditDestination: 'console'
auditDestination: "console"

View File

@ -9,77 +9,77 @@
- name: single_op_core_excluded_files
value:
exclude_files:
# The following timeseries tests use failpoints that bulkWrite doesn't support.
- jstests/core/timeseries/timeseries_delete_hint.js
# The set_param1.js test attempts to compare the response from running the {getParameter: "*"}
# command multiple times, which may observe the change to the "transactionLifetimeLimitSeconds"
# server parameter.
- jstests/core/**/set_param1.js
# BulkWrite profiling and currentOp output format is not the same as normal writes.
- jstests/core/**/profile*.js
- jstests/core/comment_field.js
- jstests/core/fsync.js
# Runs an update with illegal format (no 'updates'). We could work around this in the override
# but it is very annoying.
- jstests/core/write/insert/batch_write_command_insert.js
- jstests/core/write/update/batch_write_command_update.js
- jstests/core/write/delete/batch_write_command_delete.js
# Requires specific commands to be run to trigger failpoint (i.e. requires insert, we run bulkWrite).
- jstests/core/failcommand_failpoint.js
# This test adds unknown fields to insert/update/delete ops which we ignore
- jstests/core/write/write_commands_reject_unknown_fields.js
# Expects explain to fail for using UUID instead of collection name.
- jstests/core/query/explain/explain_uuid.js
# Checks for specific name in the command that was executed that we override.
- jstests/core/query/explain/explain_includes_command.js
# The following timeseries tests use failpoints that bulkWrite doesn't support.
- jstests/core/timeseries/timeseries_delete_hint.js
# The set_param1.js test attempts to compare the response from running the {getParameter: "*"}
# command multiple times, which may observe the change to the "transactionLifetimeLimitSeconds"
# server parameter.
- jstests/core/**/set_param1.js
# BulkWrite profiling and currentOp output format is not the same as normal writes.
- jstests/core/**/profile*.js
- jstests/core/comment_field.js
- jstests/core/fsync.js
# Runs an update with illegal format (no 'updates'). We could work around this in the override
# but it is very annoying.
- jstests/core/write/insert/batch_write_command_insert.js
- jstests/core/write/update/batch_write_command_update.js
- jstests/core/write/delete/batch_write_command_delete.js
# Requires specific commands to be run to trigger failpoint (i.e. requires insert, we run bulkWrite).
- jstests/core/failcommand_failpoint.js
# This test adds unknown fields to insert/update/delete ops which we ignore
- jstests/core/write/write_commands_reject_unknown_fields.js
# Expects explain to fail for using UUID instead of collection name.
- jstests/core/query/explain/explain_uuid.js
# Checks for specific name in the command that was executed that we override.
- jstests/core/query/explain/explain_includes_command.js
- name: single_op_txns_excluded_files
value:
exclude_files:
# Checks for op names which bulkWrite will not show up as
- jstests/core/txns/transactions_profiling.js
- jstests/core/txns/currentop_blocked_operations.js
# Checks for collation at top level in profile
- jstests/core/txns/transactions_profiling_with_drops.js
# The conditions of this test returns a different error for delete compared to the function bulkWrite uses.
# bulkWrite is consistent with the other CRUD operations here.
- jstests/core/txns/multi_statement_transaction_write_error.js
# Checks for op names which bulkWrite will not show up as
- jstests/core/txns/transactions_profiling.js
- jstests/core/txns/currentop_blocked_operations.js
# Checks for collation at top level in profile
- jstests/core/txns/transactions_profiling_with_drops.js
# The conditions of this test returns a different error for delete compared to the function bulkWrite uses.
# bulkWrite is consistent with the other CRUD operations here.
- jstests/core/txns/multi_statement_transaction_write_error.js
- name: single_op_fle_excluded_files
value:
exclude_files:
# Asserts a location specific error code failure that happens after we fail out in bulkWrite.
- src/mongo/db/modules/enterprise/jstests/fle2/basic_update.js
- src/mongo/db/modules/enterprise/jstests/fle2/basic_delete.js
# The way we override explain doesn't work with FLE tests.
- src/mongo/db/modules/enterprise/jstests/fle2/query/explain*.js
# Asserts a location specific error code failure that happens after we fail out in bulkWrite.
- src/mongo/db/modules/enterprise/jstests/fle2/basic_update.js
- src/mongo/db/modules/enterprise/jstests/fle2/basic_delete.js
# The way we override explain doesn't work with FLE tests.
- src/mongo/db/modules/enterprise/jstests/fle2/query/explain*.js
- name: txn_passthrough_runner_selftest
value:
exclude_files:
# BulkWrite profiling output format is not the same as normal writes.
- jstests/libs/txns/txn_passthrough_runner_selftest.js
# BulkWrite profiling output format is not the same as normal writes.
- jstests/libs/txns/txn_passthrough_runner_selftest.js
- name: causal_consistency_exclude_tags
value:
exclude_with_any_tags:
##
# The next tag corresponds to the special error thrown by the set_read_preference_secondary.js
# override when it refuses to replace the readPreference of a particular command. Above each tag
# are the message(s) that cause the tag to be warranted.
##
# "Cowardly refusing to override read preference of command: ..."
# "Cowardly refusing to run test with overridden read preference when it reads from a
# non-replicated collection: ..."
- assumes_read_preference_unchanged
- does_not_support_causal_consistency
- requires_collstats
- uses_transactions
# The system.profile collection is not replicated. So the reads from secondaries will not be
# consistent with primary.
- requires_profiling
# Parallel shell is not causally consistent because it uses a different session.
- uses_parallel_shell
##
# The next tag corresponds to the special error thrown by the set_read_preference_secondary.js
# override when it refuses to replace the readPreference of a particular command. Above each tag
# are the message(s) that cause the tag to be warranted.
##
# "Cowardly refusing to override read preference of command: ..."
# "Cowardly refusing to run test with overridden read preference when it reads from a
# non-replicated collection: ..."
- assumes_read_preference_unchanged
- does_not_support_causal_consistency
- requires_collstats
- uses_transactions
# The system.profile collection is not replicated. So the reads from secondaries will not be
# consistent with primary.
- requires_profiling
# Parallel shell is not causally consistent because it uses a different session.
- uses_parallel_shell
- name: kill_stepdown_hooks
value:

View File

@ -33,17 +33,17 @@
- CheckReplDBHash
- ValidateCollections
hooks:
- class: CheckReplDBHash
- class: ValidateCollections
- class: CleanEveryN
n: 20
- class: CheckReplDBHash
- class: ValidateCollections
- class: CleanEveryN
n: 20
fixture:
class: ShardedClusterFixture
# Use two shards to make sure we will only talk to the primary shard for the database and will
# not delay changes to wait for notifications or a clock advancement from other shards.
num_shards: 2
mongos_options:
bind_ip_all: ''
bind_ip_all: ""
set_parameters:
enableTestCommands: 1
mongod_options:
@ -55,8 +55,8 @@
- name: mongos_passthrough_excludes
value:
exclude_with_any_tags:
# Exclude any that assume sharding is disabled
- assumes_against_mongod_not_mongos
# Exclude any that assume sharding is disabled
- assumes_against_mongod_not_mongos
- name: sharded_collections_passthrough
value:
@ -69,8 +69,8 @@
- name: sharded_collections_passthrough_excludes
value:
exclude_with_any_tags:
- assumes_unsharded_collection
- assumes_no_implicit_collection_creation_on_get_collection
- assumes_unsharded_collection
- assumes_no_implicit_collection_creation_on_get_collection
- name: sharded_collections_passthrough_eval
value:
@ -108,9 +108,9 @@
- name: secondary_reads_excludes
value:
exclude_with_any_tags:
- assumes_read_preference_unchanged
- assumes_read_preference_unchanged
exclude_files:
- jstests/change_streams/only_wake_getmore_for_relevant_changes.js
- jstests/change_streams/only_wake_getmore_for_relevant_changes.js
- name: secondary_reads_eval
value:

View File

@ -9,13 +9,13 @@
fixture:
mongod_options:
set_parameters:
changeCollectionTruncateMarkersMinBytes: 4096 # 4KiB
changeCollectionTruncateMarkersMinBytes: 4096 # 4KiB
changeCollectionExpiredDocumentsRemoverJobSleepSeconds: 1
- name: exclusions
value:
exclude_files:
# TODO(SERVER-77000): Remove the test exclusion when $out.db in response has expected prefix.
- jstests/core/query/explain/explain_agg_write_concern.js
# `rolesInfo` is returning unprefixed database names
- jstests/core/administrative/builtin_roles_external.js
# TODO(SERVER-77000): Remove the test exclusion when $out.db in response has expected prefix.
- jstests/core/query/explain/explain_agg_write_concern.js
# `rolesInfo` is returning unprefixed database names
- jstests/core/administrative/builtin_roles_external.js

View File

@ -9,7 +9,7 @@
fixture:
mongod_options:
set_parameters:
preImagesCollectionTruncateMarkersMinBytes: 4096 # 4KiB
preImagesCollectionTruncateMarkersMinBytes: 4096 # 4KiB
expiredChangeStreamPreImageRemovalJobSleepSecs: 1
failpoint.preImagesEnabledOnAllCollectionsByDefault: "{mode: 'alwaysOn'}"
@ -17,14 +17,14 @@
value:
executor:
hooks:
- class: ClusterParameter
key: changeStreamOptions
value:
preAndPostImages:
expireAfterSeconds: 10
- class: ClusterParameter
key: changeStreamOptions
value:
preAndPostImages:
expireAfterSeconds: 10
# Exclude incompatible tests
- name: exclusion_tags
value:
exclude_with_any_tags:
- incompatible_with_preimages_by_default
- incompatible_with_preimages_by_default

View File

@ -3,7 +3,7 @@
executor:
fixture:
embedded_router: 1
mongos_options: null # mongos doesn't run in embedded router suites
mongos_options: null # mongos doesn't run in embedded router suites
mongod_options:
set_parameters:
featureFlagRouterPort: 1

View File

@ -6,8 +6,8 @@
shell_options:
global_vars:
TestData:
enableEncryption: ''
encryptionKeyFile: 'src/mongo/db/modules/enterprise/jstests/encryptdb/libs/ekf2'
enableEncryption: ""
encryptionKeyFile: "src/mongo/db/modules/enterprise/jstests/encryptdb/libs/ekf2"
- name: testdata_gcm
value:
@ -16,30 +16,30 @@
shell_options:
global_vars:
TestData:
encryptionCipherMode: 'AES256-GCM'
encryptionCipherMode: "AES256-GCM"
- name: mongodfixture_ese
value:
executor:
fixture:
mongod_options:
enableEncryption: ''
encryptionKeyFile: 'src/mongo/db/modules/enterprise/jstests/encryptdb/libs/ekf2'
enableEncryption: ""
encryptionKeyFile: "src/mongo/db/modules/enterprise/jstests/encryptdb/libs/ekf2"
- name: mongodfixture_gcm
value:
executor:
fixture:
mongod_options:
encryptionCipherMode: 'AES256-GCM'
encryptionCipherMode: "AES256-GCM"
- name: excluded_files
value:
exclude_with_any_tags:
- does_not_support_encrypted_storage_engine
- does_not_support_encrypted_storage_engine
# Shard merge protocol won't work with encrypted storage engines.
- name: serverless_excluded_files
value:
exclude_with_any_tags:
- serverless
- serverless

View File

@ -77,7 +77,7 @@
fixture:
class: ReplicaSetFixture
mongod_options:
enableMajorityReadConcern: ''
enableMajorityReadConcern: ""
syncdelay: 5
wiredTigerEngineConfigString: "debug_mode=(table_logging=true)"
set_parameters:
@ -101,7 +101,7 @@
fixture:
class: ReplicaSetFixture
mongod_options:
enableMajorityReadConcern: ''
enableMajorityReadConcern: ""
wiredTigerEngineConfigString: "debug_mode=(table_logging=true)"
set_parameters:
enableTestCommands: 1

View File

@ -12,8 +12,8 @@
- name: excluded_files
value:
exclude_with_any_tags:
# Transactions are not allowed to operate on capped collections.
- requires_capped
# Transactions are not allowed to operate on capped collections.
- requires_capped
- name: replica_sets_excluded_files
value:

View File

@ -12,4 +12,4 @@
- name: sharding_excluded_files
value:
exclude_files:
- jstests/sharding/query/mrShardedOutput.js
- jstests/sharding/query/mrShardedOutput.js

View File

@ -17,7 +17,7 @@
- name: excluded_files
value:
exclude_files:
- jstests/core/**/profile1.js # Extra operation for a getmore.
- jstests/core/**/profile2.js # Extra operation for a getmore.
- jstests/core/**/find9.js # Extra operation for a getmore.
- jstests/core/**/express.js # Assumes default batch size.
- jstests/core/**/profile1.js # Extra operation for a getmore.
- jstests/core/**/profile2.js # Extra operation for a getmore.
- jstests/core/**/find9.js # Extra operation for a getmore.
- jstests/core/**/express.js # Assumes default batch size.

View File

@ -109,7 +109,6 @@
TestData:
nonClusteredConfigTransactions: true
### Suite-specific overrides ###
- name: multiversion_future_git_tag_exclude_files
value:
@ -200,7 +199,7 @@
shell_options:
global_vars:
TestData:
useRandomBinVersionsWithinReplicaSet: 'last-lts'
useRandomBinVersionsWithinReplicaSet: "last-lts"
nonClusteredConfigTransactions: true
- name: replica_sets_multiversion_testdata_last_continuous
@ -210,7 +209,7 @@
shell_options:
global_vars:
TestData:
useRandomBinVersionsWithinReplicaSet: 'last-continuous'
useRandomBinVersionsWithinReplicaSet: "last-continuous"
nonClusteredConfigTransactions: true
- name: rollback_multiversion_fuzzer_testdata_last_lts
@ -229,7 +228,7 @@
storage:
verbosity: 1
rollbackShutdowns: true
useRandomBinVersionsWithinReplicaSet: 'last-lts'
useRandomBinVersionsWithinReplicaSet: "last-lts"
nonClusteredConfigTransactions: true
- name: rollback_multiversion_fuzzer_testdata_last_continuous
@ -248,7 +247,7 @@
storage:
verbosity: 1
rollbackShutdowns: true
useRandomBinVersionsWithinReplicaSet: 'last-continuous'
useRandomBinVersionsWithinReplicaSet: "last-continuous"
nonClusteredConfigTransactions: true
- name: sharding_multiversion_selector
@ -281,8 +280,8 @@
shell_options:
global_vars:
TestData:
useRandomBinVersionsWithinReplicaSet: 'last-lts'
mongosBinVersion: 'last-lts'
useRandomBinVersionsWithinReplicaSet: "last-lts"
mongosBinVersion: "last-lts"
nonClusteredConfigTransactions: true
- name: sharding_multiversion_testdata_last_continuous
@ -292,8 +291,8 @@
shell_options:
global_vars:
TestData:
useRandomBinVersionsWithinReplicaSet: 'last-continuous'
mongosBinVersion: 'last-continuous'
useRandomBinVersionsWithinReplicaSet: "last-continuous"
mongosBinVersion: "last-continuous"
- name: jstestfuzz_replication_multiversion_hooks
value:

View File

@ -8,8 +8,8 @@
- name: excluded_files
value:
exclude_with_any_tags:
# Used to tag tests which cannot run in the 'repeat_queries' suites.
- does_not_support_repeated_reads
# By repeating queries when the profiler is enabled, we end up writing additional profiler entries.
# Most tests using profiling are not prepared for these additional profiler entries.
- requires_profiling
# Used to tag tests which cannot run in the 'repeat_queries' suites.
- does_not_support_repeated_reads
# By repeating queries when the profiler is enabled, we end up writing additional profiler entries.
# Most tests using profiling are not prepared for these additional profiler entries.
- requires_profiling

View File

@ -2,4 +2,4 @@
value:
selector:
roots:
- jstests/replsets/*.js
- jstests/replsets/*.js

View File

@ -2,7 +2,7 @@
value:
selector:
roots:
- jstests/core/**/*.js
- jstests/core/**/*.js
exclude_files:
# Intentional empty override.
@ -39,31 +39,31 @@
hooks:
- PeriodicKillSecondaries
hooks:
- class: PeriodicKillSecondaries
- class: PeriodicKillSecondaries
- name: exclusions
value:
exclude_files:
# The following tests perform a write with a writeConcern of w=2 when 'testingReplication' is
# true. This causes the test to hang because the secondary is running with the "rsSyncApplyStop"
# failpoint enabled.
- jstests/core/**/geo_update_btree.js
# The following tests create large oplog entries, which can cause the secondary to fall off the
# primary's oplog when run as a part of burn_in_tests.
- jstests/core/**/max_doc_size.js
- jstests/core/**/mr_bigobject.js
- jstests/core/**/capped_large_docs.js
- jstests/core/**/capped_resize.js
- jstests/core/**/exhaust.js
# The following tests also create large oplog entries due to the maximum blocking sort size being
# 100 MB.
- jstests/core/**/explain_execution_error.js
- jstests/core/**/sortb.js
- jstests/core/**/sortg.js
- jstests/core/**/sortj.js
# The following test tries to directly query secondaries, which fails if the secondary has been
# killed.
- jstests/core/**/column_store_index_compression.js
# The following tests perform a write with a writeConcern of w=2 when 'testingReplication' is
# true. This causes the test to hang because the secondary is running with the "rsSyncApplyStop"
# failpoint enabled.
- jstests/core/**/geo_update_btree.js
# The following tests create large oplog entries, which can cause the secondary to fall off the
# primary's oplog when run as a part of burn_in_tests.
- jstests/core/**/max_doc_size.js
- jstests/core/**/mr_bigobject.js
- jstests/core/**/capped_large_docs.js
- jstests/core/**/capped_resize.js
- jstests/core/**/exhaust.js
# The following tests also create large oplog entries due to the maximum blocking sort size being
# 100 MB.
- jstests/core/**/explain_execution_error.js
- jstests/core/**/sortb.js
- jstests/core/**/sortg.js
- jstests/core/**/sortj.js
# The following test tries to directly query secondaries, which fails if the secondary has been
# killed.
- jstests/core/**/column_store_index_compression.js
exclude_with_any_tags:
# emptycapped is not supported with rollback using recover-to-timestamp.
- requires_emptycapped
# emptycapped is not supported with rollback using recover-to-timestamp.
- requires_emptycapped

View File

@ -65,7 +65,6 @@
exclude_files:
- jstests/aggregation/**/*.js
- name: reconfig_kill_primary_jscore_passthrough_exclude_files
value:
selector:
@ -135,7 +134,6 @@
- jstests/fle2/**/*.js
- src/mongo/db/modules/*/jstests/fle2/**/*.js
- name: kill_primary_jscore_passthrough_exclude_with_any_tags
value:
selector:

View File

@ -6,20 +6,20 @@
global_vars:
TestData:
defaultReadConcernLevel: null
enableMajorityReadConcern: ''
enableMajorityReadConcern: ""
hashTestNamesForMultitenancy: true
tenantId: "636d957b2646ddfaf9b5e13f"
useResponsePrefixChecking: true
hooks:
- class: EnableChangeStream
tenant_id: "636d957b2646ddfaf9b5e13f"
- class: EnableChangeStream
tenant_id: "636d957b2646ddfaf9b5e13f"
fixture:
class: ReplicaSetFixture
replset_name: "ChangeStreamMultitenantReplSet"
mongod_options:
bind_ip_all: ''
bind_ip_all: ""
serverless: true
noscripting: ''
noscripting: ""
set_parameters:
enableTestCommands: 1
featureFlagServerlessChangeStreams: true
@ -30,8 +30,8 @@
value:
executor:
hooks:
- class: EnableChangeStream
tenant_id: "636d957b2646ddfaf9b5e13f"
- class: EnableChangeStream
tenant_id: "636d957b2646ddfaf9b5e13f"
- name: shell_eval
value:

View File

@ -13,32 +13,31 @@
# - 'mongod_options'
tasks:
- name: powercycle
- name: powercycle
- name: powercycle_smoke
test_loops: 3
seed_doc_num: 1000
- name: powercycle_smoke
test_loops: 3
seed_doc_num: 1000
- name: powercycle_smoke_skip_compile
test_loops: 3
seed_doc_num: 1000
- name: powercycle_smoke_skip_compile
test_loops: 3
seed_doc_num: 1000
- name: powercycle_kill_mongod
crash_method: kill
- name: powercycle_kill_mongod
crash_method: kill
- name: powercycle_last_lts_fcv
fcv: "7.0"
- name: powercycle_last_lts_fcv
fcv: "7.0"
- name: powercycle_replication
repl_set: powercycle
- name: powercycle_replication
repl_set: powercycle
- name: powercycle_replication_smalloplog
repl_set: powercycle
mongod_options: "--setParameter enableTestCommands=1 --setParameter logComponentVerbosity='{storage:{recovery:2}}' --oplogSize 20 --storageEngine wiredTiger --wiredTigerEngineConfigString 'debug_mode=[table_logging=true]'"
- name: powercycle_replication_smalloplog
repl_set: powercycle
mongod_options: "--setParameter enableTestCommands=1 --setParameter logComponentVerbosity='{storage:{recovery:2}}' --oplogSize 20 --storageEngine wiredTiger --wiredTigerEngineConfigString 'debug_mode=[table_logging=true]'"
- name: powercycle_syncdelay
mongod_options: "--setParameter enableTestCommands=1 --setParameter logComponentVerbosity='{storage:{recovery:2}}' --syncdelay 10 --storageEngine wiredTiger --wiredTigerEngineConfigString 'debug_mode=[table_logging=true]'"
- name: powercycle_syncdelay
mongod_options: "--setParameter enableTestCommands=1 --setParameter logComponentVerbosity='{storage:{recovery:2}}' --syncdelay 10 --storageEngine wiredTiger --wiredTigerEngineConfigString 'debug_mode=[table_logging=true]'"
- name: powercycle_write_concern_majority
write_concern: "{'w': 'majority'}"
- name: powercycle_write_concern_majority
write_concern: "{'w': 'majority'}"

View File

@ -2,10 +2,10 @@ test_kind: js_test
selector:
roots:
- jstests/aggregation/**/*.js
- jstests/aggregation/**/*.js
exclude_files:
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
executor:
archive:
@ -15,9 +15,9 @@ executor:
shell_options:
eval: await import("jstests/libs/override_methods/detect_spawning_own_mongod.js");
hooks:
- class: ValidateCollections
- class: CleanEveryN
n: 20
- class: ValidateCollections
- class: CleanEveryN
n: 20
fixture:
class: MongoDFixture
mongod_options:

View File

@ -1,16 +1,16 @@
# Section that is ignored by resmoke.py.
config_variables:
- &keyFile jstests/libs/authTestsKey
- &keyFileData Thiskeyisonlyforrunningthesuitewithauthenticationdontuseitinanytestsdirectly
- &keyFile jstests/libs/authTestsKey
- &keyFileData Thiskeyisonlyforrunningthesuitewithauthenticationdontuseitinanytestsdirectly
test_kind: js_test
selector:
roots:
- jstests/aggregation/**/*.js
- jstests/aggregation/**/*.js
exclude_files:
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
executor:
config:
@ -28,12 +28,12 @@ executor:
password: *keyFileData
username: __system
hooks:
- class: CleanEveryN
n: 20
- class: CleanEveryN
n: 20
fixture:
class: MongoDFixture
mongod_options:
auth: ''
auth: ""
keyFile: *keyFile
set_parameters:
enableTestCommands: 1

View File

@ -5,16 +5,16 @@ test_kind: js_test
selector:
roots:
- jstests/aggregation/**/*.js
- jstests/aggregation/**/*.js
exclude_files:
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
exclude_with_any_tags:
- assumes_no_implicit_index_creation
# Column Store Indexes are known to mess up projection field order and it is fundamental to the
# design so we accept these tests will fail.
- tests_projection_field_order
- assumes_no_implicit_index_creation
# Column Store Indexes are known to mess up projection field order and it is fundamental to the
# design so we accept these tests will fail.
- tests_projection_field_order
executor:
archive:
@ -27,9 +27,9 @@ executor:
# indexes that the test itself created.
eval: await import("jstests/libs/override_methods/hide_column_store_indexes_from_get_indexes.js")
hooks:
- class: ValidateCollections
- class: CleanEveryN
n: 20
- class: ValidateCollections
- class: CleanEveryN
n: 20
fixture:
class: MongoDFixture
mongod_options:

View File

@ -2,12 +2,12 @@ test_kind: js_test
selector:
roots:
- jstests/aggregation/**/*.js
- jstests/aggregation/**/*.js
exclude_files:
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
exclude_with_any_tags:
- requires_pipeline_optimization
- requires_pipeline_optimization
executor:
archive:
@ -15,9 +15,9 @@ executor:
- ValidateCollections
config: {}
hooks:
- class: ValidateCollections
- class: CleanEveryN
n: 20
- class: ValidateCollections
- class: CleanEveryN
n: 20
fixture:
class: MongoDFixture
mongod_options:

View File

@ -2,31 +2,31 @@ test_kind: js_test
selector:
roots:
- jstests/aggregation/**/*.js
- jstests/aggregation/**/*.js
exclude_files:
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
# TODO: Remove when SERVER-23229 is fixed.
- jstests/aggregation/bugs/groupMissing.js
# Mongos does not support runtimeConstants.
- jstests/aggregation/accumulators/internal_js_reduce_with_scope.js
- jstests/aggregation/expressions/internal_js_emit_with_scope.js
# $unionWith explain output does not check whether the collection is sharded in a sharded
# cluster.
- jstests/aggregation/sources/unionWith/unionWith_explain.js
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
# TODO: Remove when SERVER-23229 is fixed.
- jstests/aggregation/bugs/groupMissing.js
# Mongos does not support runtimeConstants.
- jstests/aggregation/accumulators/internal_js_reduce_with_scope.js
- jstests/aggregation/expressions/internal_js_emit_with_scope.js
# $unionWith explain output does not check whether the collection is sharded in a sharded
# cluster.
- jstests/aggregation/sources/unionWith/unionWith_explain.js
# TODO SERVER-87318: Remove once it is fixed.
- jstests/aggregation/sources/indexStats/verify_index_stats_output.js
# TODO SERVER-87318: Remove once it is fixed.
- jstests/aggregation/sources/indexStats/verify_index_stats_output.js
# Embedded Router Exclusions:
# Explicit auth is not supported in embedded router mode yet.
exclude_with_any_tags:
- assumes_against_mongod_not_mongos
- requires_profiling
# The following tests start their own ShardingTest or ReplSetTest, respectively.
- requires_sharding
- requires_replication
- assumes_against_mongod_not_mongos
- requires_profiling
# The following tests start their own ShardingTest or ReplSetTest, respectively.
- requires_sharding
- requires_replication
executor:
archive:
@ -40,12 +40,12 @@ executor:
# be part of this passthrough.
eval: await import("jstests/libs/override_methods/detect_spawning_own_mongod.js");
hooks:
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
- class: CheckOrphansDeleted
- class: CleanEveryN
n: 20
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
- class: CheckOrphansDeleted
- class: CleanEveryN
n: 20
fixture:
class: ShardedClusterFixture
mongod_options:

View File

@ -1,30 +1,30 @@
# Section that is ignored by resmoke.py.
config_variables:
- &keyFile src/mongo/db/modules/enterprise/jstests/encryptdb/libs/ekf2
- &keyFile src/mongo/db/modules/enterprise/jstests/encryptdb/libs/ekf2
test_kind: js_test
selector:
roots:
- jstests/aggregation/**/*.js
- jstests/aggregation/**/*.js
exclude_files:
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
exclude_with_any_tags:
- does_not_support_encrypted_storage_engine
- does_not_support_encrypted_storage_engine
executor:
archive:
hooks:
- ValidateCollections
config: {}
hooks:
- class: ValidateCollections
- class: CleanEveryN
n: 20
- class: ValidateCollections
- class: CleanEveryN
n: 20
fixture:
class: MongoDFixture
mongod_options:
enableEncryption: ''
enableEncryption: ""
encryptionKeyFile: *keyFile
set_parameters:
enableTestCommands: 1

View File

@ -1,31 +1,31 @@
# Section that is ignored by resmoke.py.
config_variables:
- &keyFile src/mongo/db/modules/enterprise/jstests/encryptdb/libs/ekf2
- &keyFile src/mongo/db/modules/enterprise/jstests/encryptdb/libs/ekf2
test_kind: js_test
selector:
roots:
- jstests/aggregation/**/*.js
- jstests/aggregation/**/*.js
exclude_files:
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
exclude_with_any_tags:
- does_not_support_encrypted_storage_engine
- does_not_support_encrypted_storage_engine
executor:
archive:
hooks:
- ValidateCollections
config: {}
hooks:
- class: ValidateCollections
- class: CleanEveryN
n: 20
- class: ValidateCollections
- class: CleanEveryN
n: 20
fixture:
class: MongoDFixture
mongod_options:
enableEncryption: ''
enableEncryption: ""
encryptionKeyFile: *keyFile
encryptionCipherMode: 'AES256-GCM'
encryptionCipherMode: "AES256-GCM"
set_parameters:
enableTestCommands: 1

View File

@ -2,12 +2,12 @@ test_kind: js_test
selector:
roots:
- jstests/aggregation/**/*.js
- jstests/aggregation/**/*.js
exclude_files:
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
exclude_with_any_tags:
- do_not_wrap_aggregations_in_facets
- do_not_wrap_aggregations_in_facets
executor:
archive:
@ -17,9 +17,9 @@ executor:
shell_options:
eval: await import("jstests/libs/override_methods/implicitly_wrap_pipelines_in_facets.js");
hooks:
- class: ValidateCollections
- class: CleanEveryN
n: 20
- class: ValidateCollections
- class: CleanEveryN
n: 20
fixture:
class: MongoDFixture
mongod_options:

View File

@ -2,24 +2,24 @@ test_kind: js_test
selector:
roots:
- jstests/aggregation/**/*.js
- jstests/aggregation/**/*.js
exclude_files:
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
# TODO: Remove when SERVER-23229 is fixed.
- jstests/aggregation/bugs/groupMissing.js
# Mongos does not support runtimeConstants.
- jstests/aggregation/accumulators/internal_js_reduce_with_scope.js
- jstests/aggregation/expressions/internal_js_emit_with_scope.js
# $unionWith explain output does not check whether the collection is sharded in a sharded
# cluster.
- jstests/aggregation/sources/unionWith/unionWith_explain.js
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
# TODO: Remove when SERVER-23229 is fixed.
- jstests/aggregation/bugs/groupMissing.js
# Mongos does not support runtimeConstants.
- jstests/aggregation/accumulators/internal_js_reduce_with_scope.js
- jstests/aggregation/expressions/internal_js_emit_with_scope.js
# $unionWith explain output does not check whether the collection is sharded in a sharded
# cluster.
- jstests/aggregation/sources/unionWith/unionWith_explain.js
exclude_with_any_tags:
- assumes_against_mongod_not_mongos
- requires_profiling
# The following tests start their own ShardingTest or ReplSetTest, respectively.
- requires_sharding
- requires_replication
- assumes_against_mongod_not_mongos
- requires_profiling
# The following tests start their own ShardingTest or ReplSetTest, respectively.
- requires_sharding
- requires_replication
executor:
archive:
@ -33,12 +33,12 @@ executor:
# be part of this passthrough.
eval: await import("jstests/libs/override_methods/detect_spawning_own_mongod.js");
hooks:
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
- class: CheckOrphansDeleted
- class: CleanEveryN
n: 20
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
- class: CheckOrphansDeleted
- class: CleanEveryN
n: 20
fixture:
class: ShardedClusterFixture
mongos_options:

View File

@ -2,27 +2,27 @@ test_kind: js_test
selector:
roots:
- jstests/aggregation/**/*.js
- jstests/aggregation/**/*.js
exclude_files:
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
# TODO: Remove when SERVER-23229 is fixed.
- jstests/aggregation/bugs/groupMissing.js
- jstests/aggregation/sources/graphLookup/variables.js
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
# TODO: Remove when SERVER-23229 is fixed.
- jstests/aggregation/bugs/groupMissing.js
- jstests/aggregation/sources/graphLookup/variables.js
exclude_with_any_tags:
# This passthrough implicitly shards the accessed collections. Do not run tests where collections
# can't be created on `getCollection` call.
- assumes_no_implicit_collection_creation_on_get_collection
# Tests tagged with the following will fail because they assume collections are not sharded.
- assumes_against_mongod_not_mongos
- assumes_no_implicit_collection_creation_after_drop
- assumes_no_implicit_index_creation
- assumes_unsharded_collection
- cannot_create_unique_index_when_using_hashed_shard_key
- requires_profiling
# The following tests start their own ShardingTest or ReplSetTest, respectively.
- requires_sharding
- requires_replication
# This passthrough implicitly shards the accessed collections. Do not run tests where collections
# can't be created on `getCollection` call.
- assumes_no_implicit_collection_creation_on_get_collection
# Tests tagged with the following will fail because they assume collections are not sharded.
- assumes_against_mongod_not_mongos
- assumes_no_implicit_collection_creation_after_drop
- assumes_no_implicit_index_creation
- assumes_unsharded_collection
- cannot_create_unique_index_when_using_hashed_shard_key
- requires_profiling
# The following tests start their own ShardingTest or ReplSetTest, respectively.
- requires_sharding
- requires_replication
executor:
archive:
@ -38,12 +38,12 @@ executor:
await import("jstests/libs/override_methods/implicitly_shard_accessed_collections.js");
await import("jstests/libs/override_methods/detect_spawning_own_mongod.js");
hooks:
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
- class: CheckOrphansDeleted
- class: CleanEveryN
n: 20
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
- class: CheckOrphansDeleted
- class: CleanEveryN
n: 20
fixture:
class: ShardedClusterFixture
num_shards: 1

View File

@ -2,27 +2,27 @@ test_kind: js_test
selector:
roots:
- jstests/aggregation/**/*.js
- jstests/aggregation/**/*.js
exclude_files:
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
# This test specifies a $out stage not as the last stage in the aggregation pipeline, causing a
# non-local readConcern to erroneously be sent with the command.
- jstests/aggregation/sources/out/required_last_position.js
# These tests fail due to the inability to specify a writeConcern when secondaryThrottle is not
# set as part of the moveChunk command.
- jstests/aggregation/sources/facet/use_cases.js
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
# This test specifies a $out stage not as the last stage in the aggregation pipeline, causing a
# non-local readConcern to erroneously be sent with the command.
- jstests/aggregation/sources/out/required_last_position.js
# These tests fail due to the inability to specify a writeConcern when secondaryThrottle is not
# set as part of the moveChunk command.
- jstests/aggregation/sources/facet/use_cases.js
exclude_with_any_tags:
##
# The next three tags correspond to the special errors thrown by the
# set_read_and_write_concerns.js override when it refuses to replace the readConcern or
# writeConcern of a particular command. Above each tag are the message(s) that cause the tag to be
# warranted.
##
# "Cowardly refusing to override read concern of command: ..."
- assumes_read_concern_unchanged
# "Cowardly refusing to override write concern of command: ..."
- assumes_write_concern_unchanged
##
# The next three tags correspond to the special errors thrown by the
# set_read_and_write_concerns.js override when it refuses to replace the readConcern or
# writeConcern of a particular command. Above each tag are the message(s) that cause the tag to be
# warranted.
##
# "Cowardly refusing to override read concern of command: ..."
- assumes_read_concern_unchanged
# "Cowardly refusing to override write concern of command: ..."
- assumes_write_concern_unchanged
executor:
archive:
@ -35,21 +35,21 @@ executor:
global_vars:
TestData:
defaultReadConcernLevel: majority
enableMajorityReadConcern: ''
enableMajorityReadConcern: ""
eval: >-
globalThis.testingReplication = true;
await import('jstests/libs/override_methods/set_read_and_write_concerns.js');
hooks:
# The CheckReplDBHash hook waits until all operations have replicated to and have been applied
# on the secondaries, so we run the ValidateCollections hook after it to ensure we're
# validating the entire contents of the collection.
- class: CheckReplOplogs
- class: CheckReplDBHash
- class: ValidateCollections
# The CheckReplDBHash hook waits until all operations have replicated to and have been applied
# on the secondaries, so we run the ValidateCollections hook after it to ensure we're
# validating the entire contents of the collection.
- class: CheckReplOplogs
- class: CheckReplDBHash
- class: ValidateCollections
fixture:
class: ReplicaSetFixture
mongod_options:
enableMajorityReadConcern: ''
enableMajorityReadConcern: ""
set_parameters:
enableTestCommands: 1
num_nodes: 2

View File

@ -6,16 +6,16 @@ test_kind: js_test
selector:
roots:
- jstests/aggregation/**/*.js
- jstests/aggregation/**/*.js
exclude_files:
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
exclude_with_any_tags:
# Used to tag tests which cannot run in the 'core_repeat_queries' or 'aggregation_repeat_queries' suites.
- does_not_support_repeated_reads
# By repeating queries when the profiler is enabled, we end up writing additional profiler entries.
# Most tests using profiling are not prepared for these additional profiler entries.
- requires_profiling
# Used to tag tests which cannot run in the 'core_repeat_queries' or 'aggregation_repeat_queries' suites.
- does_not_support_repeated_reads
# By repeating queries when the profiler is enabled, we end up writing additional profiler entries.
# Most tests using profiling are not prepared for these additional profiler entries.
- requires_profiling
executor:
archive:
@ -27,9 +27,9 @@ executor:
await import("jstests/libs/override_methods/detect_spawning_own_mongod.js");
await import("jstests/libs/override_methods/rerun_queries.js");
hooks:
- class: ValidateCollections
- class: CleanEveryN
n: 20
- class: ValidateCollections
- class: CleanEveryN
n: 20
fixture:
class: MongoDFixture
mongod_options:

View File

@ -2,38 +2,38 @@ test_kind: js_test
selector:
roots:
- jstests/aggregation/**/*.js
- jstests/aggregation/**/*.js
exclude_files:
# The files in these directories contain utilities for use in other tests, not tests.
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
# This test modifies the 'internalDocumentSourceGroupMaxMemoryBytes' parameter on the primary
# node and would need to set it on every node in the replica set to run correctly when
# performing secondary reads.
- jstests/aggregation/sources/unionWith/unionWith.js
# This test uses >100MB per node, which can overwhelm test hosts.
- jstests/aggregation/sources/graphLookup/error.js
# The files in these directories contain utilities for use in other tests, not tests.
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
# This test modifies the 'internalDocumentSourceGroupMaxMemoryBytes' parameter on the primary
# node and would need to set it on every node in the replica set to run correctly when
# performing secondary reads.
- jstests/aggregation/sources/unionWith/unionWith.js
# This test uses >100MB per node, which can overwhelm test hosts.
- jstests/aggregation/sources/graphLookup/error.js
exclude_with_any_tags:
# The next tag corresponds to the special error thrown by the set_read_preference_secondary.js
# override when it refuses to replace the readPreference of a particular command. Above each tag
# are the message(s) that cause the tag to be warranted.
#
# "Cowardly refusing to override read preference of command: ..."
# "Cowardly refusing to run test with overridden read preference when it reads from a
# non-replicated collection: ..."
- assumes_read_preference_unchanged
- does_not_support_causal_consistency
# collStats and dbStats are not causally consistent.
- requires_collstats
- requires_dbstats
# These tests attempt to read from the "system.profile" collection, which may be missing entries
# if a write was performed on the primary of the replica set instead.
- requires_profiling
# These tests start their own ShardingTest, ReplicaSetTest, or mongods, respectively.
- requires_sharding
- requires_replication
- requires_spawning_own_processes
# The next tag corresponds to the special error thrown by the set_read_preference_secondary.js
# override when it refuses to replace the readPreference of a particular command. Above each tag
# are the message(s) that cause the tag to be warranted.
#
# "Cowardly refusing to override read preference of command: ..."
# "Cowardly refusing to run test with overridden read preference when it reads from a
# non-replicated collection: ..."
- assumes_read_preference_unchanged
- does_not_support_causal_consistency
# collStats and dbStats are not causally consistent.
- requires_collstats
- requires_dbstats
# These tests attempt to read from the "system.profile" collection, which may be missing entries
# if a write was performed on the primary of the replica set instead.
- requires_profiling
# These tests start their own ShardingTest, ReplicaSetTest, or mongods, respectively.
- requires_sharding
- requires_replication
- requires_spawning_own_processes
executor:
archive:
@ -48,14 +48,14 @@ executor:
await import('jstests/libs/override_methods/enable_causal_consistency.js');
await import('jstests/libs/override_methods/detect_spawning_own_mongod.js');
hooks:
# The CheckReplDBHash hook waits until all operations have replicated to and have been applied
# on the secondaries, so we run the ValidateCollections hook after it to ensure we're
# validating the entire contents of the collection.
- class: CheckReplOplogs
- class: CheckReplDBHash
- class: ValidateCollections
- class: CleanEveryN
n: 5
# The CheckReplDBHash hook waits until all operations have replicated to and have been applied
# on the secondaries, so we run the ValidateCollections hook after it to ensure we're
# validating the entire contents of the collection.
- class: CheckReplOplogs
- class: CheckReplDBHash
- class: ValidateCollections
- class: CleanEveryN
n: 5
fixture:
class: ReplicaSetFixture
mongod_options:

View File

@ -2,55 +2,55 @@ test_kind: js_test
selector:
roots:
- jstests/aggregation/**/*.js
- jstests/aggregation/**/*.js
exclude_files:
# The files in these directories contain utilities for use in other tests, not tests.
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
# This test makes assertions about whether aggregations will need to spill to disk, which assumes
# all the data is located on a single shard.
- jstests/aggregation/spill_to_disk.js
# This test modifies internal parameter on primary node. In order for this test to run
# successfully in this passthrough, it would need to run setParameter on every shardsvr in the
# cluster.
- jstests/aggregation/sources/unionWith/unionWith.js
# TODO: Remove when SERVER-23229 is fixed.
- jstests/aggregation/bugs/groupMissing.js
# TODO SERVER-32311: These tests use getAggPlanStage(), which can't handle sharded explain output.
- jstests/aggregation/match_swapping_renamed_fields.js
- jstests/aggregation/use_query_project_and_sort.js
- jstests/aggregation/use_query_projection.js
- jstests/aggregation/use_query_sort.js
- jstests/aggregation/sources/graphLookup/variables.js
# The files in these directories contain utilities for use in other tests, not tests.
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
# This test makes assertions about whether aggregations will need to spill to disk, which assumes
# all the data is located on a single shard.
- jstests/aggregation/spill_to_disk.js
# This test modifies internal parameter on primary node. In order for this test to run
# successfully in this passthrough, it would need to run setParameter on every shardsvr in the
# cluster.
- jstests/aggregation/sources/unionWith/unionWith.js
# TODO: Remove when SERVER-23229 is fixed.
- jstests/aggregation/bugs/groupMissing.js
# TODO SERVER-32311: These tests use getAggPlanStage(), which can't handle sharded explain output.
- jstests/aggregation/match_swapping_renamed_fields.js
- jstests/aggregation/use_query_project_and_sort.js
- jstests/aggregation/use_query_projection.js
- jstests/aggregation/use_query_sort.js
- jstests/aggregation/sources/graphLookup/variables.js
exclude_with_any_tags:
# The next tag corresponds to the special error thrown by the set_read_preference_secondary.js
# override when it refuses to replace the readPreference of a particular command. Above each tag
# are the message(s) that cause the tag to be warranted.
#
# "Cowardly refusing to override read preference of command: ..."
# "Cowardly refusing to run test with overridden read preference when it reads from a
# non-replicated collection: ..."
- assumes_read_preference_unchanged
- does_not_support_causal_consistency
# These tests assume that the 'db' object refers to unsharded cluster.
- assumes_against_mongod_not_mongos
# This passthrough implicitly shards the accessed collections. Do not run tests where collections
# can't be created on `getCollection` call.
- assumes_no_implicit_collection_creation_on_get_collection
# These tests cannot work with 'implicitly_shard_accessed_collections.js' override.
- assumes_no_implicit_collection_creation_after_drop
- assumes_unsharded_collection
- cannot_create_unique_index_when_using_hashed_shard_key
# collStats and dbStats are not causally consistent.
- requires_collstats
- requires_dbstats
# These tests attempt to read from the "system.profile" collection, which may be missing entries
# if a write was performed on the primary of the replica set instead.
- requires_profiling
# These tests start their own ShardingTest, ReplicaSetTest, or mongods, respectively.
- requires_sharding
- requires_replication
- requires_spawning_own_processes
# The next tag corresponds to the special error thrown by the set_read_preference_secondary.js
# override when it refuses to replace the readPreference of a particular command. Above each tag
# are the message(s) that cause the tag to be warranted.
#
# "Cowardly refusing to override read preference of command: ..."
# "Cowardly refusing to run test with overridden read preference when it reads from a
# non-replicated collection: ..."
- assumes_read_preference_unchanged
- does_not_support_causal_consistency
# These tests assume that the 'db' object refers to unsharded cluster.
- assumes_against_mongod_not_mongos
# This passthrough implicitly shards the accessed collections. Do not run tests where collections
# can't be created on `getCollection` call.
- assumes_no_implicit_collection_creation_on_get_collection
# These tests cannot work with 'implicitly_shard_accessed_collections.js' override.
- assumes_no_implicit_collection_creation_after_drop
- assumes_unsharded_collection
- cannot_create_unique_index_when_using_hashed_shard_key
# collStats and dbStats are not causally consistent.
- requires_collstats
- requires_dbstats
# These tests attempt to read from the "system.profile" collection, which may be missing entries
# if a write was performed on the primary of the replica set instead.
- requires_profiling
# These tests start their own ShardingTest, ReplicaSetTest, or mongods, respectively.
- requires_sharding
- requires_replication
- requires_spawning_own_processes
executor:
archive:
@ -66,16 +66,16 @@ executor:
await import('jstests/libs/override_methods/detect_spawning_own_mongod.js');
await import("jstests/libs/override_methods/implicitly_shard_accessed_collections.js")
hooks:
# The CheckReplDBHash hook waits until all operations have replicated to and have been applied
# on the secondaries, so we run the ValidateCollections hook after it to ensure we're
# validating the entire contents of the collection.
- class: CheckReplOplogs
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
- class: CheckOrphansDeleted
- class: CleanEveryN
n: 20
# The CheckReplDBHash hook waits until all operations have replicated to and have been applied
# on the secondaries, so we run the ValidateCollections hook after it to ensure we're
# validating the entire contents of the collection.
- class: CheckReplOplogs
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
- class: CheckOrphansDeleted
- class: CleanEveryN
n: 20
fixture:
class: ShardedClusterFixture
mongos_options:

View File

@ -2,35 +2,35 @@ test_kind: js_test
selector:
roots:
- jstests/aggregation/**/*.js
- jstests/aggregation/**/*.js
exclude_files:
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
# This test makes assertions about whether aggregations will need to spill to disk, which assumes
# all the data is located on a single shard.
- jstests/aggregation/spill_to_disk.js
# TODO SERVER-32311: These tests use getAggPlanStage(), which can't handle sharded explain output.
- jstests/aggregation/match_swapping_renamed_fields.js
- jstests/aggregation/use_query_project_and_sort.js
- jstests/aggregation/use_query_projection.js
- jstests/aggregation/use_query_sort.js
# TODO: Remove when SERVER-23229 is fixed.
- jstests/aggregation/bugs/groupMissing.js
- jstests/aggregation/sources/graphLookup/variables.js
# TODO SERVER-87318: Remove once it is fixed.
- jstests/aggregation/sources/indexStats/verify_index_stats_output.js
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
# This test makes assertions about whether aggregations will need to spill to disk, which assumes
# all the data is located on a single shard.
- jstests/aggregation/spill_to_disk.js
# TODO SERVER-32311: These tests use getAggPlanStage(), which can't handle sharded explain output.
- jstests/aggregation/match_swapping_renamed_fields.js
- jstests/aggregation/use_query_project_and_sort.js
- jstests/aggregation/use_query_projection.js
- jstests/aggregation/use_query_sort.js
# TODO: Remove when SERVER-23229 is fixed.
- jstests/aggregation/bugs/groupMissing.js
- jstests/aggregation/sources/graphLookup/variables.js
# TODO SERVER-87318: Remove once it is fixed.
- jstests/aggregation/sources/indexStats/verify_index_stats_output.js
exclude_with_any_tags:
# This passthrough implicitly shards the accessed collections. Do not run tests where collections
# can't be created on `getCollection` call.
- assumes_no_implicit_collection_creation_on_get_collection
# Tests tagged with the following will fail because they assume collections are not sharded.
- assumes_against_mongod_not_mongos
- assumes_no_implicit_collection_creation_after_drop
- assumes_no_implicit_index_creation
- assumes_unsharded_collection
- cannot_create_unique_index_when_using_hashed_shard_key
- requires_sharding
- requires_profiling
# This passthrough implicitly shards the accessed collections. Do not run tests where collections
# can't be created on `getCollection` call.
- assumes_no_implicit_collection_creation_on_get_collection
# Tests tagged with the following will fail because they assume collections are not sharded.
- assumes_against_mongod_not_mongos
- assumes_no_implicit_collection_creation_after_drop
- assumes_no_implicit_index_creation
- assumes_unsharded_collection
- cannot_create_unique_index_when_using_hashed_shard_key
- requires_sharding
- requires_profiling
# Embedded Router Exclusions:
# Explicit auth is not supported in embedded router mode yet.
@ -46,12 +46,12 @@ executor:
shell_options:
eval: await import("jstests/libs/override_methods/implicitly_shard_accessed_collections.js")
hooks:
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
- class: CheckOrphansDeleted
- class: CleanEveryN
n: 20
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
- class: CheckOrphansDeleted
- class: CleanEveryN
n: 20
fixture:
class: ShardedClusterFixture
mongod_options:

View File

@ -2,33 +2,33 @@ test_kind: js_test
selector:
roots:
- jstests/aggregation/**/*.js
- jstests/aggregation/**/*.js
exclude_files:
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
# This test makes assertions about whether aggregations will need to spill to disk, which assumes
# all the data is located on a single shard.
- jstests/aggregation/spill_to_disk.js
# TODO SERVER-32311: These tests use getAggPlanStage(), which can't handle sharded explain output.
- jstests/aggregation/match_swapping_renamed_fields.js
- jstests/aggregation/use_query_project_and_sort.js
- jstests/aggregation/use_query_projection.js
- jstests/aggregation/use_query_sort.js
# TODO: Remove when SERVER-23229 is fixed.
- jstests/aggregation/bugs/groupMissing.js
- jstests/aggregation/sources/graphLookup/variables.js
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
# This test makes assertions about whether aggregations will need to spill to disk, which assumes
# all the data is located on a single shard.
- jstests/aggregation/spill_to_disk.js
# TODO SERVER-32311: These tests use getAggPlanStage(), which can't handle sharded explain output.
- jstests/aggregation/match_swapping_renamed_fields.js
- jstests/aggregation/use_query_project_and_sort.js
- jstests/aggregation/use_query_projection.js
- jstests/aggregation/use_query_sort.js
# TODO: Remove when SERVER-23229 is fixed.
- jstests/aggregation/bugs/groupMissing.js
- jstests/aggregation/sources/graphLookup/variables.js
exclude_with_any_tags:
# This passthrough implicitly shards the accessed collections. Do not run tests where collections
# can't be created on `getCollection` call.
- assumes_no_implicit_collection_creation_on_get_collection
# Tests tagged with the following will fail because they assume collections are not sharded.
- assumes_against_mongod_not_mongos
- assumes_no_implicit_collection_creation_after_drop
- assumes_no_implicit_index_creation
- assumes_unsharded_collection
- cannot_create_unique_index_when_using_hashed_shard_key
- requires_sharding
- requires_profiling
# This passthrough implicitly shards the accessed collections. Do not run tests where collections
# can't be created on `getCollection` call.
- assumes_no_implicit_collection_creation_on_get_collection
# Tests tagged with the following will fail because they assume collections are not sharded.
- assumes_against_mongod_not_mongos
- assumes_no_implicit_collection_creation_after_drop
- assumes_no_implicit_index_creation
- assumes_unsharded_collection
- cannot_create_unique_index_when_using_hashed_shard_key
- requires_sharding
- requires_profiling
executor:
archive:
@ -40,12 +40,12 @@ executor:
shell_options:
eval: await import("jstests/libs/override_methods/implicitly_shard_accessed_collections.js")
hooks:
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
- class: CheckOrphansDeleted
- class: CleanEveryN
n: 20
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
- class: CheckOrphansDeleted
- class: CleanEveryN
n: 20
fixture:
class: ShardedClusterFixture
num_shards: 2

View File

@ -2,32 +2,32 @@ test_kind: js_test
selector:
roots:
- jstests/aggregation/**/*.js
- jstests/libs/random_data_shard_suite_selftest.js
- jstests/aggregation/**/*.js
- jstests/libs/random_data_shard_suite_selftest.js
exclude_files:
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
# TODO SERVER-32311: These tests use getAggPlanStage(), which can't handle sharded explain output.
- jstests/aggregation/match_swapping_renamed_fields.js
- jstests/aggregation/use_query_project_and_sort.js
- jstests/aggregation/use_query_projection.js
- jstests/aggregation/use_query_sort.js
- jstests/aggregation/extras/*.js
- jstests/aggregation/data/*.js
# TODO SERVER-32311: These tests use getAggPlanStage(), which can't handle sharded explain output.
- jstests/aggregation/match_swapping_renamed_fields.js
- jstests/aggregation/use_query_project_and_sort.js
- jstests/aggregation/use_query_projection.js
- jstests/aggregation/use_query_sort.js
# These tests are written such that, after we check the engine being used and the colocation of
# the involved collections, we drop and recreate our collections for each test case. Given that
# this suite creates unsplittable collections on random shards and we cannot reliably check the
# colocation of collections in these tests, this means that these tests are incompatible with
# this suite as written.
- jstests/aggregation/sources/lookup/lookup_equijoin_semantics_inlj.js
- jstests/aggregation/sources/lookup/lookup_equijoin_semantics_nlj.js
- jstests/aggregation/sources/lookup/lookup_equijoin_semantics_hj.js
# These tests are written such that, after we check the engine being used and the colocation of
# the involved collections, we drop and recreate our collections for each test case. Given that
# this suite creates unsplittable collections on random shards and we cannot reliably check the
# colocation of collections in these tests, this means that these tests are incompatible with
# this suite as written.
- jstests/aggregation/sources/lookup/lookup_equijoin_semantics_inlj.js
- jstests/aggregation/sources/lookup/lookup_equijoin_semantics_nlj.js
- jstests/aggregation/sources/lookup/lookup_equijoin_semantics_hj.js
# Includes expectations on failpoints being hit on specific shards.
- jstests/aggregation/sources/indexStats/verify_index_stats_output.js
# Includes expectations on failpoints being hit on specific shards.
- jstests/aggregation/sources/indexStats/verify_index_stats_output.js
exclude_with_any_tags:
- assumes_against_mongod_not_mongos
- requires_profiling
- assumes_against_mongod_not_mongos
- requires_profiling
executor:
archive:
@ -36,12 +36,12 @@ executor:
- CheckMetadataConsistencyInBackground
- ValidateCollections
hooks:
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
- class: CheckOrphansDeleted
- class: CleanEveryN
n: 20
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
- class: CheckOrphansDeleted
- class: CleanEveryN
n: 20
fixture:
class: ShardedClusterFixture
num_shards: 2

View File

@ -2,129 +2,129 @@ test_kind: js_test
selector:
roots:
- jstests/core/**/*.js
- jstests/core/**/*.js
exclude_files:
# The following tests fail because a certain command or functionality is not supported on
# mongos. This command or functionality is placed in a comment next to the failing test.
- jstests/core/**/apitest_db.js # serverStatus output doesn't have storageEngine.
- jstests/core/**/awaitdata_getmore_cmd.js # capped collections.
- jstests/core/**/bypass_doc_validation.js # sharded $out output not permitted
- jstests/core/**/check_shard_index.js # checkShardingIndex.
- jstests/core/**/collection_truncate.js # emptycapped.
- jstests/core/**/compact_keeps_indexes.js # compact.
- jstests/core/**/currentop.js # uses fsync.
- jstests/core/**/dbhash.js # dbhash.
- jstests/core/**/fsync.js # uses fsync.
- jstests/core/**/geo_s2cursorlimitskip.js # profiling.
- jstests/core/**/geo_update_btree2.js # notablescan.
- jstests/core/**/index9.js # "local" database.
- jstests/core/**/queryoptimizera.js # "local" database.
- jstests/core/**/stages*.js # stageDebug.
- jstests/core/**/startup_log.js # "local" database.
- jstests/core/**/tailable_cursor_invalidation.js # capped collections.
- jstests/core/**/tailable_getmore_batch_size.js # capped collections.
- jstests/core/**/tailable_skip_limit.js # capped collections.
- jstests/core/**/top.js # top.
# The following tests fail because mongos behaves differently from mongod when testing certain
# functionality. The differences are in a comment next to the failing test.
- jstests/core/**/geo_2d_explain.js # executionSuccess in different spot in explain().
- jstests/core/**/geo_s2explain.js # inputStage in different spot in explain().
- jstests/core/**/geo_s2sparse.js # keysPerIndex in different spot in validate().
- jstests/core/**/operation_latency_histogram.js # Stats are counted differently on mongos, SERVER-24880.
# The following tests fail because of divergent dropCollection behavior between standalones and
# sharded clusters. These tests expect a second drop command to error, whereas in sharded clusters
# we expect a second drop to return status OK.
- jstests/core/**/explain_upsert.js
# Profile can only be run against the admin database on mongos.
- jstests/core/txns/transactions_profiling.js
- jstests/core/txns/transactions_profiling_with_drops.js
# Implicitly creates a database through a collection rename, which does not work in a sharded
# cluster. TODO SERVER-84330
- jstests/core/txns/transactions_block_ddl.js
# transactionLifetimeLimitSeconds parameter is not available in mongos.
- jstests/core/txns/abort_expired_transaction.js
- jstests/core/txns/abort_transaction_thread_does_not_block_on_locks.js
- jstests/core/txns/kill_op_on_txn_expiry.js
# Uses hangAfterCollectionInserts failpoint not available on mongos.
- jstests/core/txns/speculative_snapshot_includes_all_writes.js
# The following tests fail because a certain command or functionality is not supported on
# mongos. This command or functionality is placed in a comment next to the failing test.
- jstests/core/**/apitest_db.js # serverStatus output doesn't have storageEngine.
- jstests/core/**/awaitdata_getmore_cmd.js # capped collections.
- jstests/core/**/bypass_doc_validation.js # sharded $out output not permitted
- jstests/core/**/check_shard_index.js # checkShardingIndex.
- jstests/core/**/collection_truncate.js # emptycapped.
- jstests/core/**/compact_keeps_indexes.js # compact.
- jstests/core/**/currentop.js # uses fsync.
- jstests/core/**/dbhash.js # dbhash.
- jstests/core/**/fsync.js # uses fsync.
- jstests/core/**/geo_s2cursorlimitskip.js # profiling.
- jstests/core/**/geo_update_btree2.js # notablescan.
- jstests/core/**/index9.js # "local" database.
- jstests/core/**/queryoptimizera.js # "local" database.
- jstests/core/**/stages*.js # stageDebug.
- jstests/core/**/startup_log.js # "local" database.
- jstests/core/**/tailable_cursor_invalidation.js # capped collections.
- jstests/core/**/tailable_getmore_batch_size.js # capped collections.
- jstests/core/**/tailable_skip_limit.js # capped collections.
- jstests/core/**/top.js # top.
# The following tests fail because mongos behaves differently from mongod when testing certain
# functionality. The differences are in a comment next to the failing test.
- jstests/core/**/geo_2d_explain.js # executionSuccess in different spot in explain().
- jstests/core/**/geo_s2explain.js # inputStage in different spot in explain().
- jstests/core/**/geo_s2sparse.js # keysPerIndex in different spot in validate().
- jstests/core/**/operation_latency_histogram.js # Stats are counted differently on mongos, SERVER-24880.
# The following tests fail because of divergent dropCollection behavior between standalones and
# sharded clusters. These tests expect a second drop command to error, whereas in sharded clusters
# we expect a second drop to return status OK.
- jstests/core/**/explain_upsert.js
# Profile can only be run against the admin database on mongos.
- jstests/core/txns/transactions_profiling.js
- jstests/core/txns/transactions_profiling_with_drops.js
# Implicitly creates a database through a collection rename, which does not work in a sharded
# cluster. TODO SERVER-84330
- jstests/core/txns/transactions_block_ddl.js
# transactionLifetimeLimitSeconds parameter is not available in mongos.
- jstests/core/txns/abort_expired_transaction.js
- jstests/core/txns/abort_transaction_thread_does_not_block_on_locks.js
- jstests/core/txns/kill_op_on_txn_expiry.js
# Uses hangAfterCollectionInserts failpoint not available on mongos.
- jstests/core/txns/speculative_snapshot_includes_all_writes.js
# The following tests explicitly create collections inside multi-document transactions. These are
# non-idempotent operations, and the implicit collection sharding logic upon collection access
# results in premature collection creation, causing the tests to fail.
- jstests/core/txns/create_collection.js
- jstests/core/txns/create_collection_parallel.js
- jstests/core/txns/create_indexes.js
- jstests/core/txns/create_indexes_parallel.js
# The following tests fail because they count indexes. These counts do not take into account the
# additional hashed shard key indexes that are automatically added by this passthrough.
- jstests/core/**/apitest_dbcollection.js
- jstests/core/**/bad_index_plugin.js
- jstests/core/**/create_indexes.js
- jstests/core/**/list_indexes_non_existent_ns.js
- jstests/core/**/mr_preserve_indexes.js
# These tests fail because sharded clusters do not clean up correctly after failed index builds.
# See SERVER-33207 as an example.
- jstests/core/**/geo_borders.js
# TODO: Remove after fixing SERVER-29449. executionStats.nReturned is incorrect for sharded
# queries with a limit or for distinct commands.
- jstests/core/**/distinct_index1.js
- jstests/core/**/explain1.js
- jstests/core/**/explain4.js
- jstests/core/**/sortk.js
# TODO: Remove after fixing SERVER-32563. The implementation of explain for the count command is
# incorrect on sharded collections.
- jstests/core/**/explain_count.js
- jstests/core/**/explain_server_params.js
# TODO SERVER-32311: These tests use plan stage helpers which can't handle sharded explain output.
- jstests/core/**/expr_index_use.js
- jstests/core/**/index_multikey.js
- jstests/core/**/optimized_match_explain.js
- jstests/core/**/sort_array.js
- jstests/core/**/bucket_unpacking_with_sort_extended_range.js
# View tests aren't expected to work when collections are implicitly sharded.
- jstests/core/txns/view_reads_in_transaction.js
# The following test runs commands directly against shardsvr mongods. This causes the implicit
# configure query sampling logic to fail since the configureQueryAnalyzer command is not supported
# on shardsvr mongods.
- jstests/core/**/column_store_index_compression.js
# The following tests explicitly create collections inside multi-document transactions. These are
# non-idempotent operations, and the implicit collection sharding logic upon collection access
# results in premature collection creation, causing the tests to fail.
- jstests/core/txns/create_collection.js
- jstests/core/txns/create_collection_parallel.js
- jstests/core/txns/create_indexes.js
- jstests/core/txns/create_indexes_parallel.js
# The following tests fail because they count indexes. These counts do not take into account the
# additional hashed shard key indexes that are automatically added by this passthrough.
- jstests/core/**/apitest_dbcollection.js
- jstests/core/**/bad_index_plugin.js
- jstests/core/**/create_indexes.js
- jstests/core/**/list_indexes_non_existent_ns.js
- jstests/core/**/mr_preserve_indexes.js
# These tests fail because sharded clusters do not clean up correctly after failed index builds.
# See SERVER-33207 as an example.
- jstests/core/**/geo_borders.js
# TODO: Remove after fixing SERVER-29449. executionStats.nReturned is incorrect for sharded
# queries with a limit or for distinct commands.
- jstests/core/**/distinct_index1.js
- jstests/core/**/explain1.js
- jstests/core/**/explain4.js
- jstests/core/**/sortk.js
# TODO: Remove after fixing SERVER-32563. The implementation of explain for the count command is
# incorrect on sharded collections.
- jstests/core/**/explain_count.js
- jstests/core/**/explain_server_params.js
# TODO SERVER-32311: These tests use plan stage helpers which can't handle sharded explain output.
- jstests/core/**/expr_index_use.js
- jstests/core/**/index_multikey.js
- jstests/core/**/optimized_match_explain.js
- jstests/core/**/sort_array.js
- jstests/core/**/bucket_unpacking_with_sort_extended_range.js
# View tests aren't expected to work when collections are implicitly sharded.
- jstests/core/txns/view_reads_in_transaction.js
# The following test runs commands directly against shardsvr mongods. This causes the implicit
# configure query sampling logic to fail since the configureQueryAnalyzer command is not supported
# on shardsvr mongods.
- jstests/core/**/column_store_index_compression.js
# The following test expects collections that have not been explicitly created to not exist so the
# implicit shard accessed collection logic causes it to fail.
- jstests/core/**/collection_uuid_index_commands.js
# The following test requires the collection to be unsharded.
- jstests/core/txns/finished_transaction_error_handling.js
# The following test expects collections that have not been explicitly created to not exist so the
# implicit shard accessed collection logic causes it to fail.
- jstests/core/**/collection_uuid_index_commands.js
# The following test requires the collection to be unsharded.
- jstests/core/txns/finished_transaction_error_handling.js
# The following test fails because configureQueryAnalyzer is not allowed on QE collections
- jstests/core/queryable_encryption/**/*.js
# TODO SERVER-82471: Remove when we can use explain output instead of plan cache for verification.
- jstests/core/query/query_settings/query_settings_index_application_aggregate.js
- jstests/core/query/query_settings/query_settings_index_application_distinct.js
- jstests/core/query/query_settings/query_settings_index_application_find.js
# The following test doesn't support $lookup where one collection is sharded and the other is unsharded
- jstests/core/query/explain/explain_find_trivially_false_predicates_in_agg_pipelines.js
# The following test fails because configureQueryAnalyzer is not allowed on QE collections
- jstests/core/queryable_encryption/**/*.js
# TODO SERVER-82471: Remove when we can use explain output instead of plan cache for verification.
- jstests/core/query/query_settings/query_settings_index_application_aggregate.js
- jstests/core/query/query_settings/query_settings_index_application_distinct.js
- jstests/core/query/query_settings/query_settings_index_application_find.js
# The following test doesn't support $lookup where one collection is sharded and the other is unsharded
- jstests/core/query/explain/explain_find_trivially_false_predicates_in_agg_pipelines.js
exclude_with_any_tags:
- assumes_against_mongod_not_mongos
- assumes_standalone_mongod
# system.profile collection doesn't exist on mongos.
- requires_profiling
- assumes_against_mongod_not_mongos
- assumes_standalone_mongod
# system.profile collection doesn't exist on mongos.
- requires_profiling
# Transactions are not allowed to operate on capped collections.
- requires_capped
# Prepare is not a command on mongos.
- uses_prepare_transaction
# Transactions are not allowed to operate on capped collections.
- requires_capped
# Prepare is not a command on mongos.
- uses_prepare_transaction
# Tests tagged with the following will fail because they assume collections are not sharded.
- assumes_no_implicit_collection_creation_after_drop
- assumes_no_implicit_collection_creation_on_get_collection
- assumes_no_implicit_index_creation
- assumes_unsharded_collection
- cannot_create_unique_index_when_using_hashed_shard_key
# Cannot retry a getMore command if a transient transaction or network error occurs during
# it, since we won't know whether the cursor was advanced or not.
- requires_getmore
# Tests tagged with the following will fail because they assume collections are not sharded.
- assumes_no_implicit_collection_creation_after_drop
- assumes_no_implicit_collection_creation_on_get_collection
- assumes_no_implicit_index_creation
- assumes_unsharded_collection
- cannot_create_unique_index_when_using_hashed_shard_key
# Cannot retry a getMore command if a transient transaction or network error occurs during
# it, since we won't know whether the cursor was advanced or not.
- requires_getmore
- uses_api_parameters
- uses_api_parameters
executor:
archive:
@ -138,14 +138,14 @@ executor:
eval: >-
await import("jstests/libs/override_methods/implicitly_configure_query_analyzer.js");
hooks:
- class: AnalyzeShardKeysInBackground
- class: CheckReplOplogs
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
- class: CheckOrphansDeleted
- class: CleanEveryN
n: 20
- class: AnalyzeShardKeysInBackground
- class: CheckReplOplogs
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
- class: CheckOrphansDeleted
- class: CleanEveryN
n: 20
fixture:
class: ShardedClusterFixture
num_shards: 2

View File

@ -2,10 +2,10 @@ test_kind: js_test
selector:
roots:
- src/mongo/db/modules/*/jstests/audit/*.js
- src/mongo/db/modules/*/jstests/audit/*.js
# audit tests start their own mongod's.
executor:
config:
shell_options:
nodb: ''
nodb: ""

View File

@ -2,10 +2,10 @@ test_kind: js_test
selector:
roots:
- jstests/auth/*.js
- jstests/auth/*.js
exclude_files:
# Skip until SERVER-25618 is resolved.
- jstests/auth/repl.js
# Skip until SERVER-25618 is resolved.
- jstests/auth/repl.js
# Auth tests start their own mongod's.
executor:
@ -13,5 +13,5 @@ executor:
shell_options:
global_vars:
TestData:
roleGraphInvalidationIsFatal: true
nodb: ''
roleGraphInvalidationIsFatal: true
nodb: ""

View File

@ -2,17 +2,17 @@ test_kind: js_test
selector:
roots:
- jstests/auth/*.js
- jstests/auth/*.js
exclude_files:
# Skip until SERVER-25618 is resolved.
- jstests/auth/repl.js
# Skip until SERVER-25618 is resolved.
- jstests/auth/repl.js
# Auth tests start their own mongod's.
executor:
config:
shell_options:
nodb: ''
nodb: ""
global_vars:
TestData:
auditDestination: 'console'
auditDestination: "console"
roleGraphInvalidationIsFatal: true

View File

@ -4,11 +4,11 @@ test_kind: benchmark_test
selector:
root: build/benchmarks.txt
include_files:
# The trailing asterisk is for handling the .exe extension on Windows.
- build/**/system_resource_canary_bm*
- build/install/bin/abt_translation_bm*
# The trailing asterisk is for handling the .exe extension on Windows.
- build/**/system_resource_canary_bm*
- build/install/bin/abt_translation_bm*
executor:
config: {}
hooks:
- class: GenerateAndCheckPerfResults
- class: GenerateAndCheckPerfResults

View File

@ -4,11 +4,11 @@ test_kind: benchmark_test
selector:
root: build/benchmarks.txt
include_files:
# The trailing asterisk is for handling the .exe extension on Windows.
- build/**/system_resource_canary_bm*
- build/install/bin/abt_lowering_bm*
# The trailing asterisk is for handling the .exe extension on Windows.
- build/**/system_resource_canary_bm*
- build/install/bin/abt_lowering_bm*
executor:
config: {}
hooks:
- class: GenerateAndCheckPerfResults
- class: GenerateAndCheckPerfResults

View File

@ -4,11 +4,11 @@ test_kind: benchmark_test
selector:
root: build/benchmarks.txt
include_files:
# The trailing asterisk is for handling the .exe extension on Windows.
- build/**/system_resource_canary_bm*
- build/install/bin/path_lower_bm*
# The trailing asterisk is for handling the .exe extension on Windows.
- build/**/system_resource_canary_bm*
- build/install/bin/path_lower_bm*
executor:
config: {}
hooks:
- class: GenerateAndCheckPerfResults
- class: GenerateAndCheckPerfResults

View File

@ -4,11 +4,11 @@ test_kind: benchmark_test
selector:
root: build/benchmarks.txt
include_files:
# The trailing asterisk is for handling the .exe extension on Windows.
- build/install/bin/bsoncolumn_bm*
- build/install/bin/simple8b_bm*
# The trailing asterisk is for handling the .exe extension on Windows.
- build/install/bin/bsoncolumn_bm*
- build/install/bin/simple8b_bm*
executor:
config: {}
hooks:
- class: GenerateAndCheckPerfResults
- class: GenerateAndCheckPerfResults

View File

@ -6,69 +6,68 @@ selector:
# defining a new test suite for your benchmarks. Doing so ensures they'll still run as part of the
# Evergreen task associated with the new test suite.
include_files:
# Note: This list is manually curated based on https://docs.google.com/spreadsheets/d/1yK0JIM9fN6CS-KlnOl7BcdsWd5qdJtlILo9e3BCB8QQ/edit#gid=0
# It will NOT automagically get updated if new benchmark-related tests are added.
- build/install/bin/bson_bm*
- build/install/bin/base64_bm*
- build/install/bin/lock_manager_bm*
- build/install/bin/uuid_bm*
- build/install/bin/path_lower_bm*
- build/install/bin/storage_record_id_bm*
- build/install/bin/storage_wiredtiger_begin_transaction_block_bm*
- build/install/bin/commands_bm*
- build/install/bin/abt_lowering_bm*
- build/install/bin/logv2_bm*
- build/install/bin/condition_variable_bm*
- build/install/bin/document_bm*
- build/install/bin/decimal_counter_bm*
- build/install/bin/endian_bm*
- build/install/bin/clock_source_bm*
- build/install/bin/quine_mccluskey_bm*
- build/install/bin/string_bm*
- build/install/bin/stacktrace_bm*
- build/install/bin/storage_wiredtiger_index_bm*
- build/install/bin/placement_history_bm*
- build/install/bin/sbe_vm_bm*
- build/install/bin/tick_source_bm*
- build/install/bin/crypto_bm*
- build/install/bin/system_resource_canary_bm*
- build/install/bin/future_bm*
# Note: This list is manually curated based on https://docs.google.com/spreadsheets/d/1yK0JIM9fN6CS-KlnOl7BcdsWd5qdJtlILo9e3BCB8QQ/edit#gid=0
# It will NOT automagically get updated if new benchmark-related tests are added.
- build/install/bin/bson_bm*
- build/install/bin/base64_bm*
- build/install/bin/lock_manager_bm*
- build/install/bin/uuid_bm*
- build/install/bin/path_lower_bm*
- build/install/bin/storage_record_id_bm*
- build/install/bin/storage_wiredtiger_begin_transaction_block_bm*
- build/install/bin/commands_bm*
- build/install/bin/abt_lowering_bm*
- build/install/bin/logv2_bm*
- build/install/bin/condition_variable_bm*
- build/install/bin/document_bm*
- build/install/bin/decimal_counter_bm*
- build/install/bin/endian_bm*
- build/install/bin/clock_source_bm*
- build/install/bin/quine_mccluskey_bm*
- build/install/bin/string_bm*
- build/install/bin/stacktrace_bm*
- build/install/bin/storage_wiredtiger_index_bm*
- build/install/bin/placement_history_bm*
- build/install/bin/sbe_vm_bm*
- build/install/bin/tick_source_bm*
- build/install/bin/crypto_bm*
- build/install/bin/system_resource_canary_bm*
- build/install/bin/future_bm*
exclude_files:
# The trailing asterisk is for handling the .exe extension on Windows.
# These benchmarks are being run as part of the benchmarks_sharding.yml test suite.
- build/install/bin/chunk_manager_refresh_bm*
- build/install/bin/migration_chunk_cloner_source_legacy_bm*
- build/install/bin/sharding_write_router_bm*
# These benchmarks included in the benchmarks_cst.yml test suite are disabled under SERVER-64949.
# - build/install/bin/cst_bm*
# These benchmarks are being run as part of the benchmarks_bsoncolumn.yml test suite.
- build/install/bin/bsoncolumn_bm*
- build/install/bin/simple8b_bm*
# Hash table benchmark is really slow, don't run on evergreen
- build/install/bin/hash_table_bm*
# These benchmarks are being run as part of the benchmarks_query.yml
- build/install/bin/percentile_algo_bm*
- build/install/bin/window_function_percentile_bm*
- build/install/bin/rate_limiting_bm*
- build/install/bin/profile_filter_bm*
- build/install/bin/plan_cache_key_encoding_bm*
# These benchmarks are being run as part of the benchmarks_expression*.yml
- build/install/bin/expression_bm*
- build/install/bin/sbe_expression_bm*
# These benchmarks are being run as part of the benchmarks_abt.yml test suite.
- build/install/bin/abt_translation_bm*
# These benchmarks are being run as part of the benchmarks_streams.yml test suite.
- build/install/bin/streams_operator_dag_bm*
- build/install/bin/streams_window_operator_bm*
# These benchmarks are only run when modifying or upgrading the immutable library.
- build/install/bin/immutable_absl_comparison_bm*
- build/install/bin/immutable_std_comparison_bm*
# These benchmarks are being run as part of the benchmarks_replication.yml test suite.
- build/install/bin/oplog_application_bm*
# The trailing asterisk is for handling the .exe extension on Windows.
# These benchmarks are being run as part of the benchmarks_sharding.yml test suite.
- build/install/bin/chunk_manager_refresh_bm*
- build/install/bin/migration_chunk_cloner_source_legacy_bm*
- build/install/bin/sharding_write_router_bm*
# These benchmarks included in the benchmarks_cst.yml test suite are disabled under SERVER-64949.
# - build/install/bin/cst_bm*
# These benchmarks are being run as part of the benchmarks_bsoncolumn.yml test suite.
- build/install/bin/bsoncolumn_bm*
- build/install/bin/simple8b_bm*
# Hash table benchmark is really slow, don't run on evergreen
- build/install/bin/hash_table_bm*
# These benchmarks are being run as part of the benchmarks_query.yml
- build/install/bin/percentile_algo_bm*
- build/install/bin/window_function_percentile_bm*
- build/install/bin/rate_limiting_bm*
- build/install/bin/profile_filter_bm*
- build/install/bin/plan_cache_key_encoding_bm*
# These benchmarks are being run as part of the benchmarks_expression*.yml
- build/install/bin/expression_bm*
- build/install/bin/sbe_expression_bm*
# These benchmarks are being run as part of the benchmarks_abt.yml test suite.
- build/install/bin/abt_translation_bm*
# These benchmarks are being run as part of the benchmarks_streams.yml test suite.
- build/install/bin/streams_operator_dag_bm*
- build/install/bin/streams_window_operator_bm*
# These benchmarks are only run when modifying or upgrading the immutable library.
- build/install/bin/immutable_absl_comparison_bm*
- build/install/bin/immutable_std_comparison_bm*
# These benchmarks are being run as part of the benchmarks_replication.yml test suite.
- build/install/bin/oplog_application_bm*
executor:
config: {}
hooks:
- class: GenerateAndCheckPerfResults
- class: GenerateAndCheckPerfResults

View File

@ -4,11 +4,11 @@ test_kind: benchmark_test
selector:
root: build/benchmarks.txt
include_files:
# The trailing asterisk is for handling the .exe extension on Windows.
- build/**/system_resource_canary_bm*
- build/install/bin/namespace_string_bm*
# The trailing asterisk is for handling the .exe extension on Windows.
- build/**/system_resource_canary_bm*
- build/install/bin/namespace_string_bm*
executor:
config: {}
hooks:
- class: GenerateAndCheckPerfResults
- class: GenerateAndCheckPerfResults

View File

@ -4,19 +4,19 @@ test_kind: benchmark_test
selector:
root: build/benchmarks.txt
include_files:
# The trailing asterisk is for handling the .exe extension on Windows.
- build/install/bin/percentile_algo_bm*
- build/install/bin/window_function_percentile_bm*
- build/install/bin/rate_limiting_bm*
- build/install/bin/shapifying_bm*
- build/install/bin/profile_filter_bm*
- build/install/bin/query_settings_lookup_bm*
- build/install/bin/plan_cache_key_encoding_bm*
- build/install/bin/canonical_query_bm*
- build/install/bin/query_planner_bm*
- build/install/bin/plan_cache_classic_bm*
# The trailing asterisk is for handling the .exe extension on Windows.
- build/install/bin/percentile_algo_bm*
- build/install/bin/window_function_percentile_bm*
- build/install/bin/rate_limiting_bm*
- build/install/bin/shapifying_bm*
- build/install/bin/profile_filter_bm*
- build/install/bin/query_settings_lookup_bm*
- build/install/bin/plan_cache_key_encoding_bm*
- build/install/bin/canonical_query_bm*
- build/install/bin/query_planner_bm*
- build/install/bin/plan_cache_classic_bm*
executor:
config: {}
hooks:
- class: GenerateAndCheckPerfResults
- class: GenerateAndCheckPerfResults

View File

@ -3,15 +3,15 @@ test_kind: benchmark_test
selector:
root: build/benchmarks.txt
include_files:
# The trailing asterisk is for handling the .exe extension on Windows.
- build/install/bin/op_observer_bm*
- build/install/bin/oplog_application_bm*
- build/install/bin/oplog_applier_utils_bm*
- build/install/bin/oplog_entry_bm*
- build/install/bin/replication_consistency_markers_impl_bm*
- build/install/bin/oplog_write_bm*
# The trailing asterisk is for handling the .exe extension on Windows.
- build/install/bin/op_observer_bm*
- build/install/bin/oplog_application_bm*
- build/install/bin/oplog_applier_utils_bm*
- build/install/bin/oplog_entry_bm*
- build/install/bin/replication_consistency_markers_impl_bm*
- build/install/bin/oplog_write_bm*
executor:
config: {}
hooks:
- class: GenerateAndCheckPerfResults
- class: GenerateAndCheckPerfResults

View File

@ -10,68 +10,67 @@ selector:
# from benchmarks.txt, and then subtract the entries from benchmarks_first_half.yml (see below).
exclude_files:
# Exclude everything from benchmarks_first_half.yml:
- build/install/bin/bson_bm*
- build/install/bin/base64_bm*
- build/install/bin/lock_manager_bm*
- build/install/bin/uuid_bm*
- build/install/bin/path_lower_bm*
- build/install/bin/storage_record_id_bm*
- build/install/bin/storage_wiredtiger_begin_transaction_block_bm*
- build/install/bin/commands_bm*
- build/install/bin/abt_lowering_bm*
- build/install/bin/logv2_bm*
- build/install/bin/condition_variable_bm*
- build/install/bin/document_bm*
- build/install/bin/decimal_counter_bm*
- build/install/bin/endian_bm*
- build/install/bin/clock_source_bm*
- build/install/bin/quine_mccluskey_bm*
- build/install/bin/string_bm*
- build/install/bin/stacktrace_bm*
- build/install/bin/storage_wiredtiger_index_bm*
- build/install/bin/placement_history_bm*
- build/install/bin/sbe_vm_bm*
- build/install/bin/tick_source_bm*
- build/install/bin/crypto_bm*
- build/install/bin/system_resource_canary_bm*
- build/install/bin/future_bm*
# The trailing asterisk is for handling the .exe extension on Windows.
# These benchmarks are being run as part of the benchmarks_sharding.yml test suite.
- build/install/bin/chunk_manager_refresh_bm*
- build/install/bin/migration_chunk_cloner_source_legacy_bm*
- build/install/bin/sharding_write_router_bm*
# These benchmarks included in the benchmarks_cst.yml test suite are disabled under SERVER-64949.
# - build/install/bin/cst_bm*
# These benchmarks are being run as part of the benchmarks_bsoncolumn.yml test suite.
- build/install/bin/bsoncolumn_bm*
- build/install/bin/simple8b_bm*
# Hash table benchmark is really slow, don't run on evergreen
- build/install/bin/hash_table_bm*
# These benchmarks are being run as part of the benchmarks_query.yml
- build/install/bin/percentile_algo_bm*
- build/install/bin/window_function_percentile_bm*
- build/install/bin/rate_limiting_bm*
- build/install/bin/profile_filter_bm*
- build/install/bin/plan_cache_key_encoding_bm*
# These benchmarks are being run as part of the benchmarks_expression*.yml
- build/install/bin/expression_bm*
- build/install/bin/sbe_expression_bm*
# These benchmarks are being run as part of the benchmarks_abt.yml test suite.
- build/install/bin/abt_translation_bm*
# These benchmarks are being run as part of the benchmarks_streams.yml test suite.
- build/install/bin/streams_operator_dag_bm*
- build/install/bin/streams_window_operator_bm*
# These benchmarks are only run when modifying or upgrading the immutable library.
- build/install/bin/immutable_absl_comparison_bm*
- build/install/bin/immutable_std_comparison_bm*
# These benchmarks are being run as part of the benchmarks_replication.yml test suite.
- build/install/bin/oplog_application_bm*
- build/install/bin/oplog_applier_utils_bm*
# Exclude everything from benchmarks_first_half.yml:
- build/install/bin/bson_bm*
- build/install/bin/base64_bm*
- build/install/bin/lock_manager_bm*
- build/install/bin/uuid_bm*
- build/install/bin/path_lower_bm*
- build/install/bin/storage_record_id_bm*
- build/install/bin/storage_wiredtiger_begin_transaction_block_bm*
- build/install/bin/commands_bm*
- build/install/bin/abt_lowering_bm*
- build/install/bin/logv2_bm*
- build/install/bin/condition_variable_bm*
- build/install/bin/document_bm*
- build/install/bin/decimal_counter_bm*
- build/install/bin/endian_bm*
- build/install/bin/clock_source_bm*
- build/install/bin/quine_mccluskey_bm*
- build/install/bin/string_bm*
- build/install/bin/stacktrace_bm*
- build/install/bin/storage_wiredtiger_index_bm*
- build/install/bin/placement_history_bm*
- build/install/bin/sbe_vm_bm*
- build/install/bin/tick_source_bm*
- build/install/bin/crypto_bm*
- build/install/bin/system_resource_canary_bm*
- build/install/bin/future_bm*
# The trailing asterisk is for handling the .exe extension on Windows.
# These benchmarks are being run as part of the benchmarks_sharding.yml test suite.
- build/install/bin/chunk_manager_refresh_bm*
- build/install/bin/migration_chunk_cloner_source_legacy_bm*
- build/install/bin/sharding_write_router_bm*
# These benchmarks included in the benchmarks_cst.yml test suite are disabled under SERVER-64949.
# - build/install/bin/cst_bm*
# These benchmarks are being run as part of the benchmarks_bsoncolumn.yml test suite.
- build/install/bin/bsoncolumn_bm*
- build/install/bin/simple8b_bm*
# Hash table benchmark is really slow, don't run on evergreen
- build/install/bin/hash_table_bm*
# These benchmarks are being run as part of the benchmarks_query.yml
- build/install/bin/percentile_algo_bm*
- build/install/bin/window_function_percentile_bm*
- build/install/bin/rate_limiting_bm*
- build/install/bin/profile_filter_bm*
- build/install/bin/plan_cache_key_encoding_bm*
# These benchmarks are being run as part of the benchmarks_expression*.yml
- build/install/bin/expression_bm*
- build/install/bin/sbe_expression_bm*
# These benchmarks are being run as part of the benchmarks_abt.yml test suite.
- build/install/bin/abt_translation_bm*
# These benchmarks are being run as part of the benchmarks_streams.yml test suite.
- build/install/bin/streams_operator_dag_bm*
- build/install/bin/streams_window_operator_bm*
# These benchmarks are only run when modifying or upgrading the immutable library.
- build/install/bin/immutable_absl_comparison_bm*
- build/install/bin/immutable_std_comparison_bm*
# These benchmarks are being run as part of the benchmarks_replication.yml test suite.
- build/install/bin/oplog_application_bm*
- build/install/bin/oplog_applier_utils_bm*
executor:
config: {}
hooks:
- class: GenerateAndCheckPerfResults
- class: GenerateAndCheckPerfResults

View File

@ -4,10 +4,10 @@ test_kind: benchmark_test
selector:
root: build/benchmarks.txt
include_files:
# The trailing asterisk is for handling the .exe extension on Windows.
- build/install/bin/service_entry_point_common_bm*
# The trailing asterisk is for handling the .exe extension on Windows.
- build/install/bin/service_entry_point_common_bm*
executor:
config: {}
hooks:
- class: GenerateAndCheckPerfResults
- class: GenerateAndCheckPerfResults

View File

@ -3,13 +3,13 @@ test_kind: benchmark_test
selector:
root: build/benchmarks.txt
include_files:
# The trailing asterisk is for handling the .exe extension on Windows.
- build/**/system_resource_canary_bm*
- build/install/bin/chunk_manager_refresh_bm*
- build/install/bin/migration_chunk_cloner_source_legacy_bm*
- build/install/bin/sharding_write_router_bm*
# The trailing asterisk is for handling the .exe extension on Windows.
- build/**/system_resource_canary_bm*
- build/install/bin/chunk_manager_refresh_bm*
- build/install/bin/migration_chunk_cloner_source_legacy_bm*
- build/install/bin/sharding_write_router_bm*
executor:
config: {}
hooks:
- class: GenerateAndCheckPerfResults
- class: GenerateAndCheckPerfResults

View File

@ -4,12 +4,12 @@ test_kind: benchmark_test
selector:
root: build/benchmarks.txt
include_files:
# The trailing asterisk is for handling the .exe extension on Windows.
- build/**/system_resource_canary_bm*
- build/install/bin/streams_operator_dag_bm*
- build/install/bin/streams_window_operator_bm*
# The trailing asterisk is for handling the .exe extension on Windows.
- build/**/system_resource_canary_bm*
- build/install/bin/streams_operator_dag_bm*
- build/install/bin/streams_window_operator_bm*
executor:
config: {}
hooks:
- class: GenerateAndCheckPerfResults
- class: GenerateAndCheckPerfResults

View File

@ -2,15 +2,14 @@ test_kind: py_test
selector:
roots:
- buildscripts/tests/**/test_*.py
- buildscripts/idl/tests/**/test_*.py
- buildscripts/tests/**/test_*.py
- buildscripts/idl/tests/**/test_*.py
exclude_files:
# These tests are also @unittest.skip'ed. SERVER-48969 tracks re-enabling them.
- buildscripts/tests/resmokelib/test_selector.py # Test assumes POSIX path.
- buildscripts/tests/resmokelib/utils/test_archival.py # Requires boto3.
- buildscripts/tests/resmokelib/powercycle/test_remote_operations.py # Requires ssh to be enabled locally.
- buildscripts/tests/resmoke_end2end/**/test_*.py # Requires compile task. Test run in resmoke_end2end_tests.yml instead.
- buildscripts/tests/resmoke_validation/**/test_*.py # Ran in commit queue in resmoke_validation_tests
# These tests are also @unittest.skip'ed. SERVER-48969 tracks re-enabling them.
- buildscripts/tests/resmokelib/test_selector.py # Test assumes POSIX path.
- buildscripts/tests/resmokelib/utils/test_archival.py # Requires boto3.
- buildscripts/tests/resmokelib/powercycle/test_remote_operations.py # Requires ssh to be enabled locally.
- buildscripts/tests/resmoke_end2end/**/test_*.py # Requires compile task. Test run in resmoke_end2end_tests.yml instead.
- buildscripts/tests/resmoke_validation/**/test_*.py # Ran in commit queue in resmoke_validation_tests
executor: {}

View File

@ -2,168 +2,167 @@ test_kind: bulk_write_cluster_js_test
selector:
roots:
- jstests/core/**/*.js
- jstests/core/**/*.js
exclude_files:
# Excludes from replica set jscore passthrough
# Excludes from replica set jscore passthrough
# The set_param1.js test attempts to compare the response from running the {getParameter: "*"}
# command multiple times, which may observe the change to the "transactionLifetimeLimitSeconds"
# server parameter.
- jstests/core/**/set_param1.js
# BulkWrite profiling and currentOp output format is not the same as normal writes.
- jstests/core/**/profile*.js
- jstests/core/comment_field.js
- jstests/core/fsync.js
# Runs an update with illegal format (no 'updates'). We could work around this in the override
# but it is very annoying.
- jstests/core/write/insert/batch_write_command_insert.js
- jstests/core/write/update/batch_write_command_update.js
- jstests/core/write/delete/batch_write_command_delete.js
# Requires specific commands to be run to trigger failpoint (i.e. requires insert, we run bulkWrite).
- jstests/core/failcommand_failpoint.js
# This test adds unknown fields to insert/update/delete ops which we ignore
- jstests/core/write/write_commands_reject_unknown_fields.js
# Checks for op names which bulkWrite will not show up as
- jstests/core/txns/transactions_profiling.js
- jstests/core/txns/currentop_blocked_operations.js
# Checks for collation at top level in profile
- jstests/core/txns/transactions_profiling_with_drops.js
# The conditions of this test returns a different error for delete compared to the function bulkWrite uses.
# bulkWrite is consistent with the other CRUD operations here.
- jstests/core/txns/multi_statement_transaction_write_error.js
# The set_param1.js test attempts to compare the response from running the {getParameter: "*"}
# command multiple times, which may observe the change to the "transactionLifetimeLimitSeconds"
# server parameter.
- jstests/core/**/set_param1.js
# BulkWrite profiling and currentOp output format is not the same as normal writes.
- jstests/core/**/profile*.js
- jstests/core/comment_field.js
- jstests/core/fsync.js
# Runs an update with illegal format (no 'updates'). We could work around this in the override
# but it is very annoying.
- jstests/core/write/insert/batch_write_command_insert.js
- jstests/core/write/update/batch_write_command_update.js
- jstests/core/write/delete/batch_write_command_delete.js
# Requires specific commands to be run to trigger failpoint (i.e. requires insert, we run bulkWrite).
- jstests/core/failcommand_failpoint.js
# This test adds unknown fields to insert/update/delete ops which we ignore
- jstests/core/write/write_commands_reject_unknown_fields.js
# Checks for op names which bulkWrite will not show up as
- jstests/core/txns/transactions_profiling.js
- jstests/core/txns/currentop_blocked_operations.js
# Checks for collation at top level in profile
- jstests/core/txns/transactions_profiling_with_drops.js
# The conditions of this test returns a different error for delete compared to the function bulkWrite uses.
# bulkWrite is consistent with the other CRUD operations here.
- jstests/core/txns/multi_statement_transaction_write_error.js
# Multiple cluster specific exclusions
# Multiple cluster specific exclusions
# Don't run transaction specific tests.
- jstests/core/txns/**/*.js
# Don't run transaction specific tests.
- jstests/core/txns/**/*.js
# Uses a timestamp in query which causes mismatch between clusters
- jstests/core/write/update/update_currentdate_examples.js
- jstests/core/write/update/update_affects_indexes.js
- jstests/core/index/index_arr2.js
- jstests/core/index/index_stats.js
- jstests/core/ts1.js
- jstests/core/compare_timestamps.js
- jstests/core/command_let_variables.js
- jstests/core/write/update/update_min_max_examples.js
- jstests/core/write/update/update_arrayFilters.js
- jstests/core/index/wildcard/wildcard_index_type.js
- jstests/core/txns/no_writes_to_config_transactions_with_prepared_transaction.js
- jstests/core/query/type/type3.js
- jstests/core/txns/commit_prepared_transaction.js
- jstests/core/timeseries/**/*.js
- jstests/core/txns/timeseries/timeseries_reads_in_txns.js
- jstests/core/txns/timeseries_insert_in_txn.js
- jstests/core/txns/txn_ops_allowed_on_buckets_coll.js
# Uses a timestamp in query which causes mismatch between clusters
- jstests/core/write/update/update_currentdate_examples.js
- jstests/core/write/update/update_affects_indexes.js
- jstests/core/index/index_arr2.js
- jstests/core/index/index_stats.js
- jstests/core/ts1.js
- jstests/core/compare_timestamps.js
- jstests/core/command_let_variables.js
- jstests/core/write/update/update_min_max_examples.js
- jstests/core/write/update/update_arrayFilters.js
- jstests/core/index/wildcard/wildcard_index_type.js
- jstests/core/txns/no_writes_to_config_transactions_with_prepared_transaction.js
- jstests/core/query/type/type3.js
- jstests/core/txns/commit_prepared_transaction.js
- jstests/core/timeseries/**/*.js
- jstests/core/txns/timeseries/timeseries_reads_in_txns.js
- jstests/core/txns/timeseries_insert_in_txn.js
- jstests/core/txns/txn_ops_allowed_on_buckets_coll.js
# Multiple cluster override does not support QE
- jstests/core/queryable_encryption/*.js
# Multiple cluster override does not support QE
- jstests/core/queryable_encryption/*.js
# Batching causes us to go over BSON max obj size for request
- jstests/core/query/find/find_getmore_bsonsize.js
- jstests/core/txns/commit_and_abort_large_unprepared_transactions.js
- jstests/core/query/sort/sortb.js
- jstests/core/capped/capped_large_docs.js
- jstests/core/query/sort/sortf.js
- jstests/core/txns/commit_and_abort_large_prepared_transactions.js
# Batching causes us to go over BSON max obj size for request
- jstests/core/query/find/find_getmore_bsonsize.js
- jstests/core/txns/commit_and_abort_large_unprepared_transactions.js
- jstests/core/query/sort/sortb.js
- jstests/core/capped/capped_large_docs.js
- jstests/core/query/sort/sortf.js
- jstests/core/txns/commit_and_abort_large_prepared_transactions.js
# Uses mongod generated UUID which is different between the clusters
- jstests/core/write/collection_uuid_write_commands.js
# Uses mongod generated UUID which is different between the clusters
- jstests/core/write/collection_uuid_write_commands.js
# update with $ modifiers can sometimes change field ordering
- jstests/core/write/update/update5.js
- jstests/core/write/update/upsert_and.js
- jstests/core/server1470.js
- jstests/core/query/rename/rename_operator_missing_source.js
# update with $ modifiers can sometimes change field ordering
- jstests/core/write/update/update5.js
- jstests/core/write/update/upsert_and.js
- jstests/core/server1470.js
- jstests/core/query/rename/rename_operator_missing_source.js
# requires parameter not supported by override
- jstests/core/write/crud_ops_do_not_throw_locktimeout.js
- jstests/core/command_json_schema_field.js
- jstests/core/api/api_version_test_expression.js
- jstests/core/api/api_version_parameters.js
- jstests/core/query/mr/mr_null_arguments.js
- jstests/core/txns/prepare_transaction_unique_index_conflict.js
- jstests/core/txns/no_snapshot_writes_outside_txn.js
# requires parameter not supported by override
- jstests/core/write/crud_ops_do_not_throw_locktimeout.js
- jstests/core/command_json_schema_field.js
- jstests/core/api/api_version_test_expression.js
- jstests/core/api/api_version_parameters.js
- jstests/core/query/mr/mr_null_arguments.js
- jstests/core/txns/prepare_transaction_unique_index_conflict.js
- jstests/core/txns/no_snapshot_writes_outside_txn.js
# override does not suppot benchRun
- jstests/core/benchrun_pipeline_updates.js
- jstests/core/bench_test1.js
# override does not suppot benchRun
- jstests/core/benchrun_pipeline_updates.js
- jstests/core/bench_test1.js
# errors out due to invalid DB name
- jstests/core/query/invalid_db_name.js
# errors out due to invalid DB name
- jstests/core/query/invalid_db_name.js
# parallel processing causes race conditions in these tests
- jstests/core/local_tail_capped.js
- jstests/core/txns/transactions_block_ddl.js
- jstests/core/txns/kill_op_on_txn_expiry.js
- jstests/core/txns/write_conflicts_with_non_txns.js
# parallel processing causes race conditions in these tests
- jstests/core/local_tail_capped.js
- jstests/core/txns/transactions_block_ddl.js
- jstests/core/txns/kill_op_on_txn_expiry.js
- jstests/core/txns/write_conflicts_with_non_txns.js
# the deep copy we use does not deep copy arrays of objects which can be modified after we save them
- jstests/core/index/wildcard/wildcard_index_multikey.js
- jstests/core/index/wildcard/wildcard_index_basic_index_bounds.js
- jstests/core/write/update/updatea.js
# the deep copy we use does not deep copy arrays of objects which can be modified after we save them
- jstests/core/index/wildcard/wildcard_index_multikey.js
- jstests/core/index/wildcard/wildcard_index_basic_index_bounds.js
- jstests/core/write/update/updatea.js
# batching can cause planCache to be different than expectations
- jstests/core/sbe_plan_cache_duplicate_or_clauses.js
- jstests/core/query/sbe_plan_cache_autoparameterize_ixscan.js
- jstests/core/index/index_filter_commands_invalidate_plan_cache_entries.js
- jstests/core/query/plan_cache/plan_cache_sbe.js
# batching can cause planCache to be different than expectations
- jstests/core/sbe_plan_cache_duplicate_or_clauses.js
- jstests/core/query/sbe_plan_cache_autoparameterize_ixscan.js
- jstests/core/index/index_filter_commands_invalidate_plan_cache_entries.js
- jstests/core/query/plan_cache/plan_cache_sbe.js
# bulkWrite and delete use different parsing for the multi field
- jstests/core/write/batch_write_command_w0.js
# bulkWrite and delete use different parsing for the multi field
- jstests/core/write/batch_write_command_w0.js
# Checks for specific sessions to exist
- jstests/core/administrative/list_sessions.js
# Checks for specific sessions to exist
- jstests/core/administrative/list_sessions.js
# Tries to run a command without a session which we add in and gives different results
- jstests/core/txns/multi_statement_transaction_command_args.js
# Tries to run a command without a session which we add in and gives different results
- jstests/core/txns/multi_statement_transaction_command_args.js
# Incompatible with enable_sessions.js
- jstests/core/txns/shell_prompt_in_transaction.js
- jstests/core/write/crud_api.js
# Incompatible with enable_sessions.js
- jstests/core/txns/shell_prompt_in_transaction.js
- jstests/core/write/crud_api.js
# Uses multiple sessions which the override is incapable of doing.
- jstests/core/txns/multi_statement_transaction_abort.js
- jstests/core/txns/commit_prepared_transaction_errors.js
- jstests/core/txns/create_collection_parallel.js
- jstests/core/txns/prepare_conflict_aggregation_behavior.js
- jstests/core/txns/many_txns.js
- jstests/core/txns/create_indexes_parallel.js
- jstests/core/txns/repeatable_reads_in_transaction.js
# Uses multiple sessions which the override is incapable of doing.
- jstests/core/txns/multi_statement_transaction_abort.js
- jstests/core/txns/commit_prepared_transaction_errors.js
- jstests/core/txns/create_collection_parallel.js
- jstests/core/txns/prepare_conflict_aggregation_behavior.js
- jstests/core/txns/many_txns.js
- jstests/core/txns/create_indexes_parallel.js
- jstests/core/txns/repeatable_reads_in_transaction.js
# requires use of specific transaction numbers (override uses its own)
- jstests/core/txns/finished_transaction_error_handling.js
# requires use of specific transaction numbers (override uses its own)
- jstests/core/txns/finished_transaction_error_handling.js
# ambiguous multi:false update can target different document on each cluster
- jstests/core/index/hashed/hashed_index_with_arrays.js
# ambiguous multi:false update can target different document on each cluster
- jstests/core/index/hashed/hashed_index_with_arrays.js
# Does not expect a replica set connection string.
- jstests/core/**/connection_string_validation.js
# Does not expect a replica set connection string.
- jstests/core/**/connection_string_validation.js
# Grabs specific stats from mongod directly which causes failure due to there being
# multiple clusters.
- jstests/core/administrative/current_op/currentop_cursors.js
- jstests/core/operation_latency_histogram.js
- jstests/core/views/views_stats.js
# Grabs specific stats from mongod directly which causes failure due to there being
# multiple clusters.
- jstests/core/administrative/current_op/currentop_cursors.js
- jstests/core/operation_latency_histogram.js
- jstests/core/views/views_stats.js
# Sets cluster parameters, which do writes with timestamps that will vary b/w clusters.
- jstests/core/cluster_parameter_commands.js
# Sets cluster parameters, which do writes with timestamps that will vary b/w clusters.
- jstests/core/cluster_parameter_commands.js
exclude_with_any_tags:
- assumes_standalone_mongod
- assumes_read_preference_unchanged
- does_not_support_causal_consistency
- requires_collstats
- uses_transactions
- requires_profiling
- requires_getmore
- uses_parallel_shell
# creates a prepare timestamp for each cluster, corresponding commits can fail if
# the prepare on the bulkWrite cluster is later than the commit on the normal
- uses_prepare_transaction
# auth does not get correctly applied to both clusters
- requires_auth
- assumes_standalone_mongod
- assumes_read_preference_unchanged
- does_not_support_causal_consistency
- requires_collstats
- uses_transactions
- requires_profiling
- requires_getmore
- uses_parallel_shell
# creates a prepare timestamp for each cluster, corresponding commits can fail if
# the prepare on the bulkWrite cluster is later than the commit on the normal
- uses_prepare_transaction
# auth does not get correctly applied to both clusters
- requires_auth
executor:
archive:
@ -182,14 +181,14 @@ executor:
await import('jstests/libs/override_methods/multiple_crud_ops_as_bulk_write.js');
await import('jstests/libs/override_methods/enable_causal_consistency.js');
hooks:
# The CheckReplDBHash hook waits until all operations have replicated to and have been applied
# on the secondaries, so we run the ValidateCollections hook after it to ensure we're
# validating the entire contents of the collection.
- class: CheckReplOplogs
- class: CheckReplDBHash
- class: ValidateCollections
- class: CleanEveryN
n: 20
# The CheckReplDBHash hook waits until all operations have replicated to and have been applied
# on the secondaries, so we run the ValidateCollections hook after it to ensure we're
# validating the entire contents of the collection.
- class: CheckReplOplogs
- class: CheckReplDBHash
- class: ValidateCollections
- class: CleanEveryN
n: 20
fixture:
class: BulkWriteFixture
cluster_options:

View File

@ -2,210 +2,210 @@ test_kind: bulk_write_cluster_js_test
selector:
roots:
- jstests/core/**/*.js
- jstests/core/**/*.js
exclude_files:
# These tests run in the jscore_txn passthrough suites.
- jstests/core/txns/**/*.js
# These tests run in the jscore_txn passthrough suites.
- jstests/core/txns/**/*.js
# The following tests fail because a certain command or functionality is not supported by
# mongos. This command or functionality is placed in a comment next to the failing test.
- jstests/core/**/apitest_db.js # serverStatus output doesn't have storageEngine.
- jstests/core/**/awaitdata_getmore_cmd.js # capped collections.
- jstests/core/**/bypass_doc_validation.js # sharded $out output not permitted
- jstests/core/**/check_shard_index.js # checkShardingIndex.
- jstests/core/**/collection_truncate.js # emptycapped.
- jstests/core/**/compact_keeps_indexes.js # compact.
- jstests/core/**/currentop.js # uses fsync.
- jstests/core/**/dbhash.js # dbhash.
- jstests/core/**/fsync.js # uses fsync.
- jstests/core/**/geo_s2cursorlimitskip.js # profiling.
- jstests/core/**/geo_update_btree2.js # notablescan.
- jstests/core/**/index9.js # "local" database.
- jstests/core/**/queryoptimizera.js # "local" database.
- jstests/core/**/stages*.js # stageDebug.
- jstests/core/**/startup_log.js # "local" database.
- jstests/core/**/tailable_cursor_invalidation.js # capped collections.
- jstests/core/**/tailable_getmore_batch_size.js # capped collections.
- jstests/core/**/tailable_skip_limit.js # capped collections.
- jstests/core/**/top.js # top.
# The following tests fail because mongos behaves differently from mongod when testing certain
# functionality. The differences are in a comment next to the failing test.
- jstests/core/**/geo_2d_explain.js # executionSuccess in different spot in explain().
- jstests/core/**/geo_s2explain.js # inputStage in different spot in explain().
- jstests/core/**/geo_s2sparse.js # keysPerIndex in different spot in validate().
- jstests/core/**/operation_latency_histogram.js # Stats are counted differently on mongos, SERVER-24880.
# The following tests fail because they count indexes. These counts do not take into account the
# additional hashed shard key indexes that are automatically added by this passthrough.
- jstests/core/**/apitest_dbcollection.js
- jstests/core/**/bad_index_plugin.js
- jstests/core/**/create_indexes.js
- jstests/core/**/list_indexes_non_existent_ns.js
- jstests/core/**/mr_preserve_indexes.js
# These tests fail because sharded clusters do not clean up correctly after failed index builds.
# See SERVER-33207 as an example.
- jstests/core/**/geo_borders.js
# TODO: Remove after fixing SERVER-29449. executionStats.nReturned is incorrect for sharded
# queries with a limit or for distinct commands.
- jstests/core/**/distinct_index1.js
- jstests/core/**/explain1.js
- jstests/core/**/explain4.js
- jstests/core/**/sortk.js
# TODO: Remove after fixing SERVER-32563. The implementation of explain for the count command is
# incorrect on sharded collections.
- jstests/core/**/explain_count.js
- jstests/core/**/explain_server_params.js
# TODO SERVER-32311: These tests use plan stage helpers which can't handle sharded explain output.
- jstests/core/**/expr_index_use.js
- jstests/core/**/index_multikey.js
- jstests/core/**/optimized_match_explain.js
- jstests/core/**/sort_array.js
# The following tests fail because a certain command or functionality is not supported by
# mongos. This command or functionality is placed in a comment next to the failing test.
- jstests/core/**/apitest_db.js # serverStatus output doesn't have storageEngine.
- jstests/core/**/awaitdata_getmore_cmd.js # capped collections.
- jstests/core/**/bypass_doc_validation.js # sharded $out output not permitted
- jstests/core/**/check_shard_index.js # checkShardingIndex.
- jstests/core/**/collection_truncate.js # emptycapped.
- jstests/core/**/compact_keeps_indexes.js # compact.
- jstests/core/**/currentop.js # uses fsync.
- jstests/core/**/dbhash.js # dbhash.
- jstests/core/**/fsync.js # uses fsync.
- jstests/core/**/geo_s2cursorlimitskip.js # profiling.
- jstests/core/**/geo_update_btree2.js # notablescan.
- jstests/core/**/index9.js # "local" database.
- jstests/core/**/queryoptimizera.js # "local" database.
- jstests/core/**/stages*.js # stageDebug.
- jstests/core/**/startup_log.js # "local" database.
- jstests/core/**/tailable_cursor_invalidation.js # capped collections.
- jstests/core/**/tailable_getmore_batch_size.js # capped collections.
- jstests/core/**/tailable_skip_limit.js # capped collections.
- jstests/core/**/top.js # top.
# The following tests fail because mongos behaves differently from mongod when testing certain
# functionality. The differences are in a comment next to the failing test.
- jstests/core/**/geo_2d_explain.js # executionSuccess in different spot in explain().
- jstests/core/**/geo_s2explain.js # inputStage in different spot in explain().
- jstests/core/**/geo_s2sparse.js # keysPerIndex in different spot in validate().
- jstests/core/**/operation_latency_histogram.js # Stats are counted differently on mongos, SERVER-24880.
# The following tests fail because they count indexes. These counts do not take into account the
# additional hashed shard key indexes that are automatically added by this passthrough.
- jstests/core/**/apitest_dbcollection.js
- jstests/core/**/bad_index_plugin.js
- jstests/core/**/create_indexes.js
- jstests/core/**/list_indexes_non_existent_ns.js
- jstests/core/**/mr_preserve_indexes.js
# These tests fail because sharded clusters do not clean up correctly after failed index builds.
# See SERVER-33207 as an example.
- jstests/core/**/geo_borders.js
# TODO: Remove after fixing SERVER-29449. executionStats.nReturned is incorrect for sharded
# queries with a limit or for distinct commands.
- jstests/core/**/distinct_index1.js
- jstests/core/**/explain1.js
- jstests/core/**/explain4.js
- jstests/core/**/sortk.js
# TODO: Remove after fixing SERVER-32563. The implementation of explain for the count command is
# incorrect on sharded collections.
- jstests/core/**/explain_count.js
- jstests/core/**/explain_server_params.js
# TODO SERVER-32311: These tests use plan stage helpers which can't handle sharded explain output.
- jstests/core/**/expr_index_use.js
- jstests/core/**/index_multikey.js
- jstests/core/**/optimized_match_explain.js
- jstests/core/**/sort_array.js
# ----------------------------------------
# Multiple cluster specific exclusions
# ----------------------------------------
# ----------------------------------------
# Multiple cluster specific exclusions
# ----------------------------------------
# Don't run transaction specific tests.
- jstests/core/txns/**/*.js
# Don't run transaction specific tests.
- jstests/core/txns/**/*.js
# Uses a timestamp in query which causes mismatch between clusters
- jstests/core/write/update/update_currentdate_examples.js
- jstests/core/write/update/update_affects_indexes.js
- jstests/core/index/index_arr2.js
- jstests/core/index/index_stats.js
- jstests/core/ts1.js
- jstests/core/compare_timestamps.js
- jstests/core/command_let_variables.js
- jstests/core/write/update/update_min_max_examples.js
- jstests/core/write/update/update_arrayFilters.js
- jstests/core/index/wildcard/wildcard_index_type.js
- jstests/core/txns/no_writes_to_config_transactions_with_prepared_transaction.js
- jstests/core/query/type/type3.js
- jstests/core/txns/commit_prepared_transaction.js
- jstests/core/timeseries/**/*.js
- jstests/core/txns/timeseries/timeseries_reads_in_txns.js
- jstests/core/txns/timeseries_insert_in_txn.js
- jstests/core/txns/txn_ops_allowed_on_buckets_coll.js
# Uses a timestamp in query which causes mismatch between clusters
- jstests/core/write/update/update_currentdate_examples.js
- jstests/core/write/update/update_affects_indexes.js
- jstests/core/index/index_arr2.js
- jstests/core/index/index_stats.js
- jstests/core/ts1.js
- jstests/core/compare_timestamps.js
- jstests/core/command_let_variables.js
- jstests/core/write/update/update_min_max_examples.js
- jstests/core/write/update/update_arrayFilters.js
- jstests/core/index/wildcard/wildcard_index_type.js
- jstests/core/txns/no_writes_to_config_transactions_with_prepared_transaction.js
- jstests/core/query/type/type3.js
- jstests/core/txns/commit_prepared_transaction.js
- jstests/core/timeseries/**/*.js
- jstests/core/txns/timeseries/timeseries_reads_in_txns.js
- jstests/core/txns/timeseries_insert_in_txn.js
- jstests/core/txns/txn_ops_allowed_on_buckets_coll.js
# Multiple cluster override does not support QE
- jstests/core/queryable_encryption/*.js
# Multiple cluster override does not support QE
- jstests/core/queryable_encryption/*.js
# Batching causes us to go over BSON max obj size for request
- jstests/core/query/find/find_getmore_bsonsize.js
- jstests/core/txns/commit_and_abort_large_unprepared_transactions.js
- jstests/core/query/sort/sortb.js
- jstests/core/capped/capped_large_docs.js
- jstests/core/query/sort/sortf.js
- jstests/core/txns/commit_and_abort_large_prepared_transactions.js
# Batching causes us to go over BSON max obj size for request
- jstests/core/query/find/find_getmore_bsonsize.js
- jstests/core/txns/commit_and_abort_large_unprepared_transactions.js
- jstests/core/query/sort/sortb.js
- jstests/core/capped/capped_large_docs.js
- jstests/core/query/sort/sortf.js
- jstests/core/txns/commit_and_abort_large_prepared_transactions.js
# Uses mongod generated UUID which is different between the clusters
- jstests/core/write/collection_uuid_write_commands.js
# Uses mongod generated UUID which is different between the clusters
- jstests/core/write/collection_uuid_write_commands.js
# update with $ modifiers can sometimes change field ordering
- jstests/core/write/update/update5.js
- jstests/core/write/update/upsert_and.js
- jstests/core/server1470.js
- jstests/core/query/rename/rename_operator_missing_source.js
# update with $ modifiers can sometimes change field ordering
- jstests/core/write/update/update5.js
- jstests/core/write/update/upsert_and.js
- jstests/core/server1470.js
- jstests/core/query/rename/rename_operator_missing_source.js
# requires parameter not supported by override
- jstests/core/write/crud_ops_do_not_throw_locktimeout.js
- jstests/core/command_json_schema_field.js
- jstests/core/api/api_version_test_expression.js
- jstests/core/api/api_version_parameters.js
- jstests/core/query/mr/mr_null_arguments.js
- jstests/core/txns/prepare_transaction_unique_index_conflict.js
- jstests/core/txns/no_snapshot_writes_outside_txn.js
# requires parameter not supported by override
- jstests/core/write/crud_ops_do_not_throw_locktimeout.js
- jstests/core/command_json_schema_field.js
- jstests/core/api/api_version_test_expression.js
- jstests/core/api/api_version_parameters.js
- jstests/core/query/mr/mr_null_arguments.js
- jstests/core/txns/prepare_transaction_unique_index_conflict.js
- jstests/core/txns/no_snapshot_writes_outside_txn.js
# override does not suppot benchRun
- jstests/core/benchrun_pipeline_updates.js
- jstests/core/bench_test1.js
# override does not suppot benchRun
- jstests/core/benchrun_pipeline_updates.js
- jstests/core/bench_test1.js
# parallel processing causes race conditions in these tests
- jstests/core/local_tail_capped.js
- jstests/core/txns/transactions_block_ddl.js
- jstests/core/txns/kill_op_on_txn_expiry.js
- jstests/core/txns/write_conflicts_with_non_txns.js
# parallel processing causes race conditions in these tests
- jstests/core/local_tail_capped.js
- jstests/core/txns/transactions_block_ddl.js
- jstests/core/txns/kill_op_on_txn_expiry.js
- jstests/core/txns/write_conflicts_with_non_txns.js
# the deep copy we use does not deep copy arrays of objects which can be modified after we save them
- jstests/core/index/wildcard/wildcard_index_multikey.js
- jstests/core/index/wildcard/wildcard_index_basic_index_bounds.js
- jstests/core/write/update/updatea.js
# the deep copy we use does not deep copy arrays of objects which can be modified after we save them
- jstests/core/index/wildcard/wildcard_index_multikey.js
- jstests/core/index/wildcard/wildcard_index_basic_index_bounds.js
- jstests/core/write/update/updatea.js
# batching can cause planCache to be different than expectations
- jstests/core/sbe_plan_cache_duplicate_or_clauses.js
- jstests/core/query/sbe_plan_cache_autoparameterize_ixscan.js
- jstests/core/index/index_filter_commands_invalidate_plan_cache_entries.js
- jstests/core/query/plan_cache/plan_cache_sbe.js
# batching can cause planCache to be different than expectations
- jstests/core/sbe_plan_cache_duplicate_or_clauses.js
- jstests/core/query/sbe_plan_cache_autoparameterize_ixscan.js
- jstests/core/index/index_filter_commands_invalidate_plan_cache_entries.js
- jstests/core/query/plan_cache/plan_cache_sbe.js
# bulkWrite and delete use different parsing for the multi field
- jstests/core/write/batch_write_command_w0.js
# bulkWrite and delete use different parsing for the multi field
- jstests/core/write/batch_write_command_w0.js
# Checks for specific sessions to exist
- jstests/core/administrative/list_sessions.js
# Checks for specific sessions to exist
- jstests/core/administrative/list_sessions.js
# Tries to run a command without a session which we add in and gives different results
- jstests/core/txns/multi_statement_transaction_command_args.js
# Tries to run a command without a session which we add in and gives different results
- jstests/core/txns/multi_statement_transaction_command_args.js
# Incompatible with enable_sessions.js
- jstests/core/txns/shell_prompt_in_transaction.js
- jstests/core/write/crud_api.js
# Incompatible with enable_sessions.js
- jstests/core/txns/shell_prompt_in_transaction.js
- jstests/core/write/crud_api.js
# Uses multiple sessions which the override is incapable of doing.
- jstests/core/txns/multi_statement_transaction_abort.js
- jstests/core/txns/commit_prepared_transaction_errors.js
- jstests/core/txns/create_collection_parallel.js
- jstests/core/txns/prepare_conflict_aggregation_behavior.js
- jstests/core/txns/many_txns.js
- jstests/core/txns/create_indexes_parallel.js
- jstests/core/txns/repeatable_reads_in_transaction.js
# Uses multiple sessions which the override is incapable of doing.
- jstests/core/txns/multi_statement_transaction_abort.js
- jstests/core/txns/commit_prepared_transaction_errors.js
- jstests/core/txns/create_collection_parallel.js
- jstests/core/txns/prepare_conflict_aggregation_behavior.js
- jstests/core/txns/many_txns.js
- jstests/core/txns/create_indexes_parallel.js
- jstests/core/txns/repeatable_reads_in_transaction.js
# requires use of specific transaction numbers (override uses its own)
- jstests/core/txns/finished_transaction_error_handling.js
# requires use of specific transaction numbers (override uses its own)
- jstests/core/txns/finished_transaction_error_handling.js
# ambiguous multi:false update can target different document on each cluster
- jstests/core/index/hashed/hashed_index_with_arrays.js
# ambiguous multi:false update can target different document on each cluster
- jstests/core/index/hashed/hashed_index_with_arrays.js
# Does not expect a replica set connection string.
- jstests/core/**/connection_string_validation.js
# Does not expect a replica set connection string.
- jstests/core/**/connection_string_validation.js
# Grabs specific stats from mongod directly which causes failure due to there being
# multiple clusters.
- jstests/core/administrative/current_op/currentop_cursors.js
- jstests/core/operation_latency_histogram.js
- jstests/core/views/views_stats.js
# Grabs specific stats from mongod directly which causes failure due to there being
# multiple clusters.
- jstests/core/administrative/current_op/currentop_cursors.js
- jstests/core/operation_latency_histogram.js
- jstests/core/views/views_stats.js
# Rely on the testingReplication field
- jstests/core/hello_response_validation.js
- jstests/core/index/geo/geo_update_btree.js
- jstests/core/mixed_version_replica_set.js
# Rely on the testingReplication field
- jstests/core/hello_response_validation.js
- jstests/core/index/geo/geo_update_btree.js
- jstests/core/mixed_version_replica_set.js
# Requires specific commands to be run to trigger failpoint (i.e. requires insert, we run bulkWrite).
- jstests/core/failcommand_failpoint.js
# Requires specific commands to be run to trigger failpoint (i.e. requires insert, we run bulkWrite).
- jstests/core/failcommand_failpoint.js
# Sets cluster parameters, which do writes with timestamps that will vary b/w clusters.
- jstests/core/cluster_parameter_commands.js
# Sets cluster parameters, which do writes with timestamps that will vary b/w clusters.
- jstests/core/cluster_parameter_commands.js
exclude_with_any_tags:
- assumes_standalone_mongod
- assumes_against_mongod_not_mongos
# This passthrough implicitly shards the accessed collections. Do not run tests where collections
# can't be created on `getCollection` call.
- assumes_no_implicit_collection_creation_on_get_collection
# Tests tagged with the following will fail because they assume collections are not sharded.
- assumes_no_implicit_collection_creation_after_drop
- assumes_no_implicit_index_creation
- assumes_unsharded_collection
- cannot_create_unique_index_when_using_hashed_shard_key
# system.profile collection doesn't exist on mongos.
- requires_profiling
- uses_parallel_shell
# creates a prepare timestamp for each cluster, corresponding commits can fail if
# the prepare on the bulkWrite cluster is later than the commit on the normal
- uses_prepare_transaction
# auth does not get correctly applied to both clusters
- requires_auth
- requires_getmore
# Map reduce gets overrided to include the sharded option which won't work on the normal cluster.
- uses_map_reduce_with_temp_collections
- assumes_standalone_mongod
- assumes_against_mongod_not_mongos
# This passthrough implicitly shards the accessed collections. Do not run tests where collections
# can't be created on `getCollection` call.
- assumes_no_implicit_collection_creation_on_get_collection
# Tests tagged with the following will fail because they assume collections are not sharded.
- assumes_no_implicit_collection_creation_after_drop
- assumes_no_implicit_index_creation
- assumes_unsharded_collection
- cannot_create_unique_index_when_using_hashed_shard_key
# system.profile collection doesn't exist on mongos.
- requires_profiling
- uses_parallel_shell
# creates a prepare timestamp for each cluster, corresponding commits can fail if
# the prepare on the bulkWrite cluster is later than the commit on the normal
- uses_prepare_transaction
# auth does not get correctly applied to both clusters
- requires_auth
- requires_getmore
# Map reduce gets overrided to include the sharded option which won't work on the normal cluster.
- uses_map_reduce_with_temp_collections
executor:
archive:
@ -220,10 +220,10 @@ executor:
await import("jstests/libs/override_methods/enable_sessions.js");
await import('jstests/libs/override_methods/multiple_crud_ops_as_bulk_write.js');
hooks:
- class: CheckReplDBHash
- class: ValidateCollections
- class: CleanEveryN
n: 20
- class: CheckReplDBHash
- class: ValidateCollections
- class: CleanEveryN
n: 20
fixture:
class: BulkWriteFixture
cluster_options:

View File

@ -4,63 +4,63 @@ test_kind: js_test
# parity with regular CRUD ops.
selector:
roots:
- jstests/sharding/collection_uuid_delete.js
- jstests/sharding/collection_uuid_insert.js
- jstests/sharding/collection_uuid_update.js
- jstests/sharding/updateOne_without_shard_key/*.js
- jstests/sharding/analyze_shard_key/read_and_write_distribution.js
- jstests/sharding/analyze_shard_key/sampling_current_op_and_server_status_rs.js
- jstests/sharding/analyze_shard_key/sampling_current_op_and_server_status_sharded.js
- jstests/sharding/analyze_shard_key/sample_rates_rs.js
- jstests/sharding/analyze_shard_key/sample_rates_sharded.js
- jstests/sharding/timeseries_delete_multi.js
- jstests/sharding/timeseries_delete_one_with_shard_key.js
- jstests/sharding/timeseries_delete_with_meta.js
- jstests/sharding/timeseries_insert.js
- jstests/sharding/timeseries_multiple_mongos.js
- jstests/sharding/timeseries_update.js
- jstests/sharding/timeseries_update_multi.js
- jstests/sharding/timeseries_update_routing.js
- jstests/sharding/timeseries_user_system_buckets_sharding.js
- jstests/sharding/timeseries_delete_one_without_shard_key.js
- jstests/sharding/timeseries_write_one_stale_sharding_state.js
- jstests/sharding/timeseries_shardkey_update.js
- jstests/sharding/timeseries_update_one.js
- jstests/sharding/timeseries_upsert.js
# The following tests are to get coverage of updates that change a document's shard key.
- jstests/sharding/update_shard_key_doc_moves_shards.js
- jstests/sharding/update_shard_key_pipeline_update.js
- jstests/sharding/update_shard_key_doc_moves_shards_without_txn_number.js
- jstests/sharding/update_shard_key_doc_on_same_shard.js
- jstests/sharding/update_compound_shard_key.js
- jstests/sharding/update_shard_key_conflicting_writes.js
- jstests/sharding/move_chunk_update_shard_key_in_retryable_write.js
- jstests/sharding/resharding_update_shard_key_in_retryable_write.js
# End document shard key update tests
- jstests/sharding/timeseries_update_multi_explain.js
# Test behavior of updateOne/deleteOne with _id without shard key.
- jstests/sharding/server_status_crud_metrics.js
- jstests/sharding/server_status_crud_metrics_write_without_shard_key_with_id.js
- jstests/sharding/timeseries_buckets_modification_with_id.js
- jstests/sharding/updateOne_idempotent_with_move_chunk.js
- jstests/sharding/updateOne_with_id_without_shard_key_basic.js
- jstests/sharding/deleteOne_with_id_without_shard_key_basic.js
- jstests/sharding/updateOne_with_id_without_shard_key_stale_config.js
- jstests/sharding/deleteOne_with_id_without_shard_key_stale_config.js
- jstests/sharding/batched_writes_with_id_without_shard_key_stale_config.js
- jstests/sharding/batched_writes_with_id_without_shard_key_basic.js
- jstests/sharding/updateOne_without_shard_key/write_without_shard_key_single_shard_data_placement_change.js
- jstests/sharding/timeseries_writes_without_shard_key_single_shard_data_placement_change.js
- jstests/sharding/retryable_update_one_by_id_chunk_migration.js
- jstests/sharding/collection_uuid_delete.js
- jstests/sharding/collection_uuid_insert.js
- jstests/sharding/collection_uuid_update.js
- jstests/sharding/updateOne_without_shard_key/*.js
- jstests/sharding/analyze_shard_key/read_and_write_distribution.js
- jstests/sharding/analyze_shard_key/sampling_current_op_and_server_status_rs.js
- jstests/sharding/analyze_shard_key/sampling_current_op_and_server_status_sharded.js
- jstests/sharding/analyze_shard_key/sample_rates_rs.js
- jstests/sharding/analyze_shard_key/sample_rates_sharded.js
- jstests/sharding/timeseries_delete_multi.js
- jstests/sharding/timeseries_delete_one_with_shard_key.js
- jstests/sharding/timeseries_delete_with_meta.js
- jstests/sharding/timeseries_insert.js
- jstests/sharding/timeseries_multiple_mongos.js
- jstests/sharding/timeseries_update.js
- jstests/sharding/timeseries_update_multi.js
- jstests/sharding/timeseries_update_routing.js
- jstests/sharding/timeseries_user_system_buckets_sharding.js
- jstests/sharding/timeseries_delete_one_without_shard_key.js
- jstests/sharding/timeseries_write_one_stale_sharding_state.js
- jstests/sharding/timeseries_shardkey_update.js
- jstests/sharding/timeseries_update_one.js
- jstests/sharding/timeseries_upsert.js
# The following tests are to get coverage of updates that change a document's shard key.
- jstests/sharding/update_shard_key_doc_moves_shards.js
- jstests/sharding/update_shard_key_pipeline_update.js
- jstests/sharding/update_shard_key_doc_moves_shards_without_txn_number.js
- jstests/sharding/update_shard_key_doc_on_same_shard.js
- jstests/sharding/update_compound_shard_key.js
- jstests/sharding/update_shard_key_conflicting_writes.js
- jstests/sharding/move_chunk_update_shard_key_in_retryable_write.js
- jstests/sharding/resharding_update_shard_key_in_retryable_write.js
# End document shard key update tests
- jstests/sharding/timeseries_update_multi_explain.js
# Test behavior of updateOne/deleteOne with _id without shard key.
- jstests/sharding/server_status_crud_metrics.js
- jstests/sharding/server_status_crud_metrics_write_without_shard_key_with_id.js
- jstests/sharding/timeseries_buckets_modification_with_id.js
- jstests/sharding/updateOne_idempotent_with_move_chunk.js
- jstests/sharding/updateOne_with_id_without_shard_key_basic.js
- jstests/sharding/deleteOne_with_id_without_shard_key_basic.js
- jstests/sharding/updateOne_with_id_without_shard_key_stale_config.js
- jstests/sharding/deleteOne_with_id_without_shard_key_stale_config.js
- jstests/sharding/batched_writes_with_id_without_shard_key_stale_config.js
- jstests/sharding/batched_writes_with_id_without_shard_key_basic.js
- jstests/sharding/updateOne_without_shard_key/write_without_shard_key_single_shard_data_placement_change.js
- jstests/sharding/timeseries_writes_without_shard_key_single_shard_data_placement_change.js
- jstests/sharding/retryable_update_one_by_id_chunk_migration.js
# End updateOne/deleteOne with _id without shard key tests
exclude_files:
# Update API version tests should not be run with bulkWrite override.
- jstests/sharding/updateOne_without_shard_key/write_without_shard_key_stable_api_test.js
# Update API version tests should not be run with bulkWrite override.
- jstests/sharding/updateOne_without_shard_key/write_without_shard_key_stable_api_test.js
executor:
archive:
tests: true
config:
shell_options:
nodb: ''
nodb: ""
eval: await import('jstests/libs/override_methods/single_crud_op_as_bulk_write.js');

View File

@ -2,58 +2,58 @@ test_kind: js_test
selector:
roots:
- jstests/core/**/*.js
- jstests/core_sharding/**/*.js
- jstests/core/**/*.js
- jstests/core_sharding/**/*.js
exclude_files:
# Has conditional logic for standalone servers and replica sets, but can't distinguish the two
# when connected to mongos.
- jstests/core/**/write_result.js
# The following tests fail because a certain command or functionality is not supported on
# mongos. This command or functionality is placed in a comment next to the failing test.
- jstests/core/**/apitest_db.js # serverStatus output doesn't have storageEngine
- jstests/core/**/check_shard_index.js # checkShardingIndex.
- jstests/core/**/collection_truncate.js # emptycapped.
- jstests/core/**/compact_keeps_indexes.js # compact.
- jstests/core/**/currentop.js # uses fsync.
- jstests/core/**/dbhash.js # dbhash.
- jstests/core/**/fsync.js # uses fsync.
- jstests/core/**/geo_update_btree2.js # notablescan.
- jstests/core/**/index9.js # "local" database.
- jstests/core/**/queryoptimizera.js # "local" database.
- jstests/core/**/stages*.js # stageDebug.
# The following tests fail because mongos behaves differently from mongod when testing certain
# functionality. The differences are in a comment next to the failing test.
- jstests/core/**/geo_2d_explain.js # executionSuccess in different spot in explain().
- jstests/core/**/geo_s2explain.js # inputStage in different spot in explain().
- jstests/core/**/geo_s2sparse.js # keysPerIndex in different spot in validate().
# The following tests fail because of divergent dropCollection behavior between standalones and
# sharded clusters. These tests expect a second drop command to error, whereas in sharded clusters
# we expect a second drop to return status OK.
- jstests/core/**/explain_upsert.js
# This test uses `benchRun` which spawns connections which do not inherit the causal session.
- jstests/core/**/benchrun_pipeline_updates.js
# Has conditional logic for standalone servers and replica sets, but can't distinguish the two
# when connected to mongos.
- jstests/core/**/write_result.js
# The following tests fail because a certain command or functionality is not supported on
# mongos. This command or functionality is placed in a comment next to the failing test.
- jstests/core/**/apitest_db.js # serverStatus output doesn't have storageEngine
- jstests/core/**/check_shard_index.js # checkShardingIndex.
- jstests/core/**/collection_truncate.js # emptycapped.
- jstests/core/**/compact_keeps_indexes.js # compact.
- jstests/core/**/currentop.js # uses fsync.
- jstests/core/**/dbhash.js # dbhash.
- jstests/core/**/fsync.js # uses fsync.
- jstests/core/**/geo_update_btree2.js # notablescan.
- jstests/core/**/index9.js # "local" database.
- jstests/core/**/queryoptimizera.js # "local" database.
- jstests/core/**/stages*.js # stageDebug.
# The following tests fail because mongos behaves differently from mongod when testing certain
# functionality. The differences are in a comment next to the failing test.
- jstests/core/**/geo_2d_explain.js # executionSuccess in different spot in explain().
- jstests/core/**/geo_s2explain.js # inputStage in different spot in explain().
- jstests/core/**/geo_s2sparse.js # keysPerIndex in different spot in validate().
# The following tests fail because of divergent dropCollection behavior between standalones and
# sharded clusters. These tests expect a second drop command to error, whereas in sharded clusters
# we expect a second drop to return status OK.
- jstests/core/**/explain_upsert.js
# This test uses `benchRun` which spawns connections which do not inherit the causal session.
- jstests/core/**/benchrun_pipeline_updates.js
exclude_with_any_tags:
- assumes_standalone_mongod
- assumes_against_mongod_not_mongos
##
# The next tag corresponds to the special error thrown by the set_read_preference_secondary.js
# override when it refuses to replace the readPreference of a particular command. Above each tag
# are the message(s) that cause the tag to be warranted.
##
# "Cowardly refusing to override read preference of command: ..."
# "Cowardly refusing to run test with overridden read preference when it reads from a
# non-replicated collection: ..."
- assumes_read_preference_unchanged
- does_not_support_causal_consistency
- requires_collstats
# The system.profile collection is not replicated. So the reads from secondaries will not be
# consistent with primary.
- requires_profiling
# Don't run these tests as transactions can only run on primaries.
- uses_transactions
# Parallel shell is not causally consistent because it uses a different session.
- uses_parallel_shell
- assumes_standalone_mongod
- assumes_against_mongod_not_mongos
##
# The next tag corresponds to the special error thrown by the set_read_preference_secondary.js
# override when it refuses to replace the readPreference of a particular command. Above each tag
# are the message(s) that cause the tag to be warranted.
##
# "Cowardly refusing to override read preference of command: ..."
# "Cowardly refusing to run test with overridden read preference when it reads from a
# non-replicated collection: ..."
- assumes_read_preference_unchanged
- does_not_support_causal_consistency
- requires_collstats
# The system.profile collection is not replicated. So the reads from secondaries will not be
# consistent with primary.
- requires_profiling
# Don't run these tests as transactions can only run on primaries.
- uses_transactions
# Parallel shell is not causally consistent because it uses a different session.
- uses_parallel_shell
executor:
archive:
@ -67,12 +67,12 @@ executor:
await import("jstests/libs/override_methods/enable_causal_consistency_without_read_pref.js");
await import('jstests/libs/override_methods/enable_hedged_reads.js');
hooks:
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
- class: CheckOrphansDeleted
- class: CleanEveryN
n: 20
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
- class: CheckOrphansDeleted
- class: CleanEveryN
n: 20
fixture:
class: ShardedClusterFixture
mongos_options:
@ -85,7 +85,7 @@ executor:
verbosity: 1
asio: 2
mongod_options:
enableMajorityReadConcern: ''
enableMajorityReadConcern: ""
set_parameters:
enableTestCommands: 1
logComponentVerbosity:

View File

@ -2,61 +2,61 @@ test_kind: js_test
selector:
roots:
- jstests/core/**/*.js
- jstests/core_sharding/**/*.js
- jstests/fle2/**/*.js
- src/mongo/db/modules/*/jstests/fle2/**/*.js
- jstests/core/**/*.js
- jstests/core_sharding/**/*.js
- jstests/fle2/**/*.js
- src/mongo/db/modules/*/jstests/fle2/**/*.js
exclude_files:
# Has conditional logic for standalone servers and replica sets, but can't distinguish the two
# when connected to mongos.
- jstests/core/**/write_result.js
# The following tests fail because a certain command or functionality is not supported on
# mongos. This command or functionality is placed in a comment next to the failing test.
- jstests/core/**/apitest_db.js # serverStatus output doesn't have storageEngine
- jstests/core/**/check_shard_index.js # checkShardingIndex.
- jstests/core/**/collection_truncate.js # emptycapped.
- jstests/core/**/compact_keeps_indexes.js # compact.
- jstests/core/**/currentop.js # uses fsync.
- jstests/core/**/dbhash.js # dbhash.
- jstests/core/**/fsync.js # uses fsync.
- jstests/core/**/geo_update_btree2.js # notablescan.
- jstests/core/**/index9.js # "local" database.
- jstests/core/**/queryoptimizera.js # "local" database.
- jstests/core/**/stages*.js # stageDebug.
# The following tests fail because mongos behaves differently from mongod when testing certain
# functionality. The differences are in a comment next to the failing test.
- jstests/core/**/geo_2d_explain.js # executionSuccess in different spot in explain().
- jstests/core/**/geo_s2explain.js # inputStage in different spot in explain().
- jstests/core/**/geo_s2sparse.js # keysPerIndex in different spot in validate().
# Has conditional logic for standalone servers and replica sets, but can't distinguish the two
# when connected to mongos.
- jstests/core/**/write_result.js
# The following tests fail because a certain command or functionality is not supported on
# mongos. This command or functionality is placed in a comment next to the failing test.
- jstests/core/**/apitest_db.js # serverStatus output doesn't have storageEngine
- jstests/core/**/check_shard_index.js # checkShardingIndex.
- jstests/core/**/collection_truncate.js # emptycapped.
- jstests/core/**/compact_keeps_indexes.js # compact.
- jstests/core/**/currentop.js # uses fsync.
- jstests/core/**/dbhash.js # dbhash.
- jstests/core/**/fsync.js # uses fsync.
- jstests/core/**/geo_update_btree2.js # notablescan.
- jstests/core/**/index9.js # "local" database.
- jstests/core/**/queryoptimizera.js # "local" database.
- jstests/core/**/stages*.js # stageDebug.
# The following tests fail because mongos behaves differently from mongod when testing certain
# functionality. The differences are in a comment next to the failing test.
- jstests/core/**/geo_2d_explain.js # executionSuccess in different spot in explain().
- jstests/core/**/geo_s2explain.js # inputStage in different spot in explain().
- jstests/core/**/geo_s2sparse.js # keysPerIndex in different spot in validate().
# The following tests fail because of divergent dropCollection behavior between standalones and
# sharded clusters. These tests expect a second drop command to error, whereas in sharded clusters
# we expect a second drop to return status OK.
- jstests/core/**/explain_upsert.js
# This test uses `benchRun` which spawns connections which do not inherit the causal session.
- jstests/core/**/benchrun_pipeline_updates.js
# The following tests fail because of divergent dropCollection behavior between standalones and
# sharded clusters. These tests expect a second drop command to error, whereas in sharded clusters
# we expect a second drop to return status OK.
- jstests/core/**/explain_upsert.js
# This test uses `benchRun` which spawns connections which do not inherit the causal session.
- jstests/core/**/benchrun_pipeline_updates.js
exclude_with_any_tags:
- assumes_standalone_mongod
- assumes_against_mongod_not_mongos
##
# The next tag corresponds to the special error thrown by the set_read_preference_secondary.js
# override when it refuses to replace the readPreference of a particular command. Above each tag
# are the message(s) that cause the tag to be warranted.
##
# "Cowardly refusing to override read preference of command: ..."
# "Cowardly refusing to run test with overridden read preference when it reads from a
# non-replicated collection: ..."
- assumes_read_preference_unchanged
- does_not_support_causal_consistency
- requires_collstats
# The system.profile collection is not replicated. So the reads from secondaries will not be
# consistent with primary.
- requires_profiling
# These tests are run in causally_consistent_jscore_txns_passthrough.yml.
- uses_transactions
# Parallel shell is not causally consistent because it uses a different session.
- uses_parallel_shell
- assumes_standalone_mongod
- assumes_against_mongod_not_mongos
##
# The next tag corresponds to the special error thrown by the set_read_preference_secondary.js
# override when it refuses to replace the readPreference of a particular command. Above each tag
# are the message(s) that cause the tag to be warranted.
##
# "Cowardly refusing to override read preference of command: ..."
# "Cowardly refusing to run test with overridden read preference when it reads from a
# non-replicated collection: ..."
- assumes_read_preference_unchanged
- does_not_support_causal_consistency
- requires_collstats
# The system.profile collection is not replicated. So the reads from secondaries will not be
# consistent with primary.
- requires_profiling
# These tests are run in causally_consistent_jscore_txns_passthrough.yml.
- uses_transactions
# Parallel shell is not causally consistent because it uses a different session.
- uses_parallel_shell
executor:
archive:
@ -68,12 +68,12 @@ executor:
shell_options:
eval: await import("jstests/libs/override_methods/enable_causal_consistency.js")
hooks:
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
- class: CheckOrphansDeleted
- class: CleanEveryN
n: 20
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
- class: CheckOrphansDeleted
- class: CleanEveryN
n: 20
fixture:
class: ShardedClusterFixture
mongos_options:
@ -86,7 +86,7 @@ executor:
verbosity: 1
asio: 2
mongod_options:
enableMajorityReadConcern: ''
enableMajorityReadConcern: ""
set_parameters:
enableTestCommands: 1
logComponentVerbosity:

View File

@ -1,102 +1,102 @@
config_variables:
- &keyFile jstests/libs/authTestsKey
- &keyFileData Thiskeyisonlyforrunningthesuitewithauthenticationdontuseitinanytestsdirectly
- &authOptions
authenticationDatabase: admin
authenticationMechanism: SCRAM-SHA-256
password: *keyFileData
username: __system
- &keyFile jstests/libs/authTestsKey
- &keyFileData Thiskeyisonlyforrunningthesuitewithauthenticationdontuseitinanytestsdirectly
- &authOptions
authenticationDatabase: admin
authenticationMechanism: SCRAM-SHA-256
password: *keyFileData
username: __system
test_kind: js_test
selector:
roots:
- jstests/core/**/*.js
- jstests/core_sharding/**/*.js
- jstests/fle2/**/*.js
- src/mongo/db/modules/*/jstests/fle2/**/*.js
- jstests/core/**/*.js
- jstests/core_sharding/**/*.js
- jstests/fle2/**/*.js
- src/mongo/db/modules/*/jstests/fle2/**/*.js
exclude_files:
# Skip any tests that run with auth explicitly.
- jstests/core/administrative/*[aA]uth*.js
# Has conditional logic for standalone servers and replica sets, but can't distinguish the two
# when connected to mongos.
- jstests/core/**/write_result.js
# The following tests fail because a certain command or functionality is not supported on
# mongos. This command or functionality is placed in a comment next to the failing test.
- jstests/core/**/apitest_db.js # serverStatus output doesn't have storageEngine.
- jstests/core/**/check_shard_index.js # checkShardingIndex.
- jstests/core/**/collection_truncate.js # emptycapped.
- jstests/core/**/compact_keeps_indexes.js # compact.
- jstests/core/**/currentop.js # uses fsync.
- jstests/core/**/dbhash.js # dbhash.
- jstests/core/**/fsync.js # uses fsync.
- jstests/core/**/geo_update_btree2.js # notablescan.
- jstests/core/**/index9.js # "local" database.
- jstests/core/**/queryoptimizera.js # "local" database.
- jstests/core/**/stages*.js # stageDebug.
# The following tests fail because mongos behaves differently from mongod when testing certain
# functionality. The differences are in a comment next to the failing test.
- jstests/core/**/geo_2d_explain.js # executionSuccess in different spot in explain().
- jstests/core/**/geo_s2explain.js # inputStage in different spot in explain().
- jstests/core/**/geo_s2sparse.js # keysPerIndex in different spot in validate().
# Logical sessions require that only one user be authenticated,
# but this suite puts us in a multi-auth state.
- jstests/core/**/list_all_sessions.js # Too many users authenticated
- jstests/core/**/list_sessions.js # Too many users authenticated
# The following tests fail because of divergent dropCollection behavior between standalones and
# sharded clusters. These tests expect a second drop command to error, whereas in sharded clusters
# we expect a second drop to return status OK.
- jstests/core/**/explain_upsert.js
# Skip any tests that run with auth explicitly.
- jstests/core/administrative/*[aA]uth*.js
# Has conditional logic for standalone servers and replica sets, but can't distinguish the two
# when connected to mongos.
- jstests/core/**/write_result.js
# The following tests fail because a certain command or functionality is not supported on
# mongos. This command or functionality is placed in a comment next to the failing test.
- jstests/core/**/apitest_db.js # serverStatus output doesn't have storageEngine.
- jstests/core/**/check_shard_index.js # checkShardingIndex.
- jstests/core/**/collection_truncate.js # emptycapped.
- jstests/core/**/compact_keeps_indexes.js # compact.
- jstests/core/**/currentop.js # uses fsync.
- jstests/core/**/dbhash.js # dbhash.
- jstests/core/**/fsync.js # uses fsync.
- jstests/core/**/geo_update_btree2.js # notablescan.
- jstests/core/**/index9.js # "local" database.
- jstests/core/**/queryoptimizera.js # "local" database.
- jstests/core/**/stages*.js # stageDebug.
# The following tests fail because mongos behaves differently from mongod when testing certain
# functionality. The differences are in a comment next to the failing test.
- jstests/core/**/geo_2d_explain.js # executionSuccess in different spot in explain().
- jstests/core/**/geo_s2explain.js # inputStage in different spot in explain().
- jstests/core/**/geo_s2sparse.js # keysPerIndex in different spot in validate().
# Logical sessions require that only one user be authenticated,
# but this suite puts us in a multi-auth state.
- jstests/core/**/list_all_sessions.js # Too many users authenticated
- jstests/core/**/list_sessions.js # Too many users authenticated
# The following tests fail because of divergent dropCollection behavior between standalones and
# sharded clusters. These tests expect a second drop command to error, whereas in sharded clusters
# we expect a second drop to return status OK.
- jstests/core/**/explain_upsert.js
# These include operations the root user auth'd on the test database is not authorized to perform,
# e.g. reading system.views, dropping or creating system collections.
- jstests/core/**/list_collections_no_views.js
- jstests/core/**/rename_collection_system_db.js
- jstests/core/views/invalid_system_views.js
- jstests/core/views/view_with_invalid_dbname.js
- jstests/core/views/views_creation.js
- jstests/core/views/views_drop.js
- jstests/core/**/disallow_system_views_user_writes.js
- jstests/core/timeseries/bucket_granularity.js
# These include operations the root user auth'd on the test database is not authorized to perform,
# e.g. reading system.views, dropping or creating system collections.
- jstests/core/**/list_collections_no_views.js
- jstests/core/**/rename_collection_system_db.js
- jstests/core/views/invalid_system_views.js
- jstests/core/views/view_with_invalid_dbname.js
- jstests/core/views/views_creation.js
- jstests/core/views/views_drop.js
- jstests/core/**/disallow_system_views_user_writes.js
- jstests/core/timeseries/bucket_granularity.js
# These tests expect listCollections to return system.bucket.* collections, which are filtered
# out by mongos when authentication is enabled.
# Refer to filter in cluster_list_collections_cmd.cpp
- jstests/core/timeseries/timeseries_*.js
# This test uses `benchRun` which spawns connections which do not inherit the causal session.
- jstests/core/**/benchrun_pipeline_updates.js
# These tests expect listCollections to return system.bucket.* collections, which are filtered
# out by mongos when authentication is enabled.
# Refer to filter in cluster_list_collections_cmd.cpp
- jstests/core/timeseries/timeseries_*.js
# This test uses `benchRun` which spawns connections which do not inherit the causal session.
- jstests/core/**/benchrun_pipeline_updates.js
# In the context of auth on mongos, illegal namespaces trigger a different error code than they do
# on mongod. To keep the test simple, we avoid running it against a mongos when auth is enabled.
- jstests/core/**/illegal_cmd_namespace.js
# In the context of auth on mongos, illegal namespaces trigger a different error code than they do
# on mongod. To keep the test simple, we avoid running it against a mongos when auth is enabled.
- jstests/core/**/illegal_cmd_namespace.js
# These tests expect writes to system.profile to fail with ErrorCodes.InvalidNamespace, but with
# auth enabled the commands instead fail with ErrorCodes.Unauthorized.
- jstests/core/write/bulk/bulk_write_non_auth.js
# These tests expect writes to system.profile to fail with ErrorCodes.InvalidNamespace, but with
# auth enabled the commands instead fail with ErrorCodes.Unauthorized.
- jstests/core/write/bulk/bulk_write_non_auth.js
exclude_with_any_tags:
- assumes_against_mongod_not_mongos
- assumes_standalone_mongod
##
# The next tag corresponds to the special error thrown by the set_read_preference_secondary.js
# override when it refuses to replace the readPreference of a particular command. Above each tag
# are the message(s) that cause the tag to be warranted.
##
# "Cowardly refusing to override read preference of command: ..."
# "Cowardly refusing to run test with overridden read preference when it reads from a
# non-replicated collection: ..."
- assumes_read_preference_unchanged
# Multiple users cannot be authenticated on one connection within a session.
- creates_and_authenticates_user
- does_not_support_causal_consistency
- requires_collstats
# The system.profile collection is not replicated. So the reads from secondaries will not be
# consistent with primary.
- requires_profiling
# These tests are run in sharded_causally_consistent_jscore_txns_passthrough.
- uses_transactions
# Parallel shell is not causally consistent because it uses a different session.
- uses_parallel_shell
- assumes_against_mongod_not_mongos
- assumes_standalone_mongod
##
# The next tag corresponds to the special error thrown by the set_read_preference_secondary.js
# override when it refuses to replace the readPreference of a particular command. Above each tag
# are the message(s) that cause the tag to be warranted.
##
# "Cowardly refusing to override read preference of command: ..."
# "Cowardly refusing to run test with overridden read preference when it reads from a
# non-replicated collection: ..."
- assumes_read_preference_unchanged
# Multiple users cannot be authenticated on one connection within a session.
- creates_and_authenticates_user
- does_not_support_causal_consistency
- requires_collstats
# The system.profile collection is not replicated. So the reads from secondaries will not be
# consistent with primary.
- requires_profiling
# These tests are run in sharded_causally_consistent_jscore_txns_passthrough.
- uses_transactions
# Parallel shell is not causally consistent because it uses a different session.
- uses_parallel_shell
executor:
archive:
@ -140,32 +140,32 @@ executor:
await import("jstests/libs/override_methods/enable_causal_consistency.js");
<<: *authOptions
hooks:
- class: CheckReplDBHash
shell_options:
global_vars:
TestData: *TestData
eval: jsTest.authenticate(db.getMongo())
<<: *authOptions
- class: CheckMetadataConsistencyInBackground
shell_options:
global_vars:
TestData: *TestData
eval: jsTest.authenticate(db.getMongo())
<<: *authOptions
- class: ValidateCollections
shell_options:
global_vars:
TestData: *TestData
eval: jsTest.authenticate(db.getMongo())
<<: *authOptions
- class: CheckOrphansDeleted
shell_options:
global_vars:
TestData: *TestData
eval: jsTest.authenticate(db.getMongo())
<<: *authOptions
- class: CleanEveryN
n: 20
- class: CheckReplDBHash
shell_options:
global_vars:
TestData: *TestData
eval: jsTest.authenticate(db.getMongo())
<<: *authOptions
- class: CheckMetadataConsistencyInBackground
shell_options:
global_vars:
TestData: *TestData
eval: jsTest.authenticate(db.getMongo())
<<: *authOptions
- class: ValidateCollections
shell_options:
global_vars:
TestData: *TestData
eval: jsTest.authenticate(db.getMongo())
<<: *authOptions
- class: CheckOrphansDeleted
shell_options:
global_vars:
TestData: *TestData
eval: jsTest.authenticate(db.getMongo())
<<: *authOptions
- class: CleanEveryN
n: 20
fixture:
class: ShardedClusterFixture
mongos_options:
@ -179,8 +179,8 @@ executor:
verbosity: 1
asio: 2
mongod_options:
enableMajorityReadConcern: ''
auth: ''
enableMajorityReadConcern: ""
auth: ""
keyFile: *keyFile
set_parameters:
enableTestCommands: 1

View File

@ -6,20 +6,20 @@ test_kind: js_test
selector:
roots:
- jstests/core/txns/**/*.js
- jstests/core/txns/**/*.js
exclude_files:
# The following tests are excluded because they do not use the transactions shell helpers.
- jstests/core/txns/non_transactional_operations_on_session_with_transaction.js
# These tests rely on having read concerns that don't use afterClusterTime.
- jstests/core/txns/timestamped_reads_wait_for_prepare_oplog_visibility.js
# These tests rely on reads that cannot use an afterClusterTime read concern because the read
# happens after a transaction is prepared, but before it is committed.
- jstests/core/txns/prepare_conflict_aggregation_behavior.js
# The following tests are excluded because they do not use the transactions shell helpers.
- jstests/core/txns/non_transactional_operations_on_session_with_transaction.js
# These tests rely on having read concerns that don't use afterClusterTime.
- jstests/core/txns/timestamped_reads_wait_for_prepare_oplog_visibility.js
# These tests rely on reads that cannot use an afterClusterTime read concern because the read
# happens after a transaction is prepared, but before it is committed.
- jstests/core/txns/prepare_conflict_aggregation_behavior.js
exclude_with_any_tags:
- does_not_support_causal_consistency
# Transactions are not allowed to operate on capped collections.
- requires_capped
- does_not_support_causal_consistency
# Transactions are not allowed to operate on capped collections.
- requires_capped
executor:
archive:
@ -31,11 +31,11 @@ executor:
globalThis.testingReplication = true;
await import('jstests/libs/override_methods/enable_causal_consistency_without_read_pref.js');
hooks:
# We don't execute dbHash or oplog consistency checks since there is only a single replica set
# node.
- class: ValidateCollections
- class: CleanEveryN
n: 20
# We don't execute dbHash or oplog consistency checks since there is only a single replica set
# node.
- class: ValidateCollections
- class: CleanEveryN
n: 20
fixture:
class: ReplicaSetFixture
mongod_options:

View File

@ -2,32 +2,32 @@ test_kind: js_test
selector:
roots:
- jstests/core/**/*.js
- jstests/fle2/**/*.js
- src/mongo/db/modules/*/jstests/fle2/**/*.js
- jstests/core/**/*.js
- jstests/fle2/**/*.js
- src/mongo/db/modules/*/jstests/fle2/**/*.js
exclude_files:
# Only the first command in a transaction allows readConcern and this suite only tests
# non-transaction snapshot reads.
- jstests/core/txns/**/*.js
# These tests use benchRun(), which isn't configured to use the overridden writeConcern.
- jstests/core/**/bench_test*.js
- jstests/core/**/benchrun_pipeline_updates.js # benchRun() used for writes
# Only the first command in a transaction allows readConcern and this suite only tests
# non-transaction snapshot reads.
- jstests/core/txns/**/*.js
# These tests use benchRun(), which isn't configured to use the overridden writeConcern.
- jstests/core/**/bench_test*.js
- jstests/core/**/benchrun_pipeline_updates.js # benchRun() used for writes
exclude_with_any_tags:
- assumes_standalone_mongod
# The next two tags correspond to the special errors thrown by the
# set_read_and_write_concerns.js override when it refuses to replace the readConcern or
# writeConcern of a particular command. Above each tag are the message(s) that cause the tag to be
# warranted.
##
# "Cowardly refusing to override read concern of command: ..."
- assumes_read_concern_unchanged
# "Cowardly refusing to override write concern of command: ..."
- assumes_write_concern_unchanged
- does_not_support_causal_consistency
# Reading from capped collections with readConcern snapshot is not supported.
- requires_capped
# These tests attempt to read from the "system.profile" collection which is a capped collection.
- requires_profiling
- assumes_standalone_mongod
# The next two tags correspond to the special errors thrown by the
# set_read_and_write_concerns.js override when it refuses to replace the readConcern or
# writeConcern of a particular command. Above each tag are the message(s) that cause the tag to be
# warranted.
##
# "Cowardly refusing to override read concern of command: ..."
- assumes_read_concern_unchanged
# "Cowardly refusing to override write concern of command: ..."
- assumes_write_concern_unchanged
- does_not_support_causal_consistency
# Reading from capped collections with readConcern snapshot is not supported.
- requires_capped
# These tests attempt to read from the "system.profile" collection which is a capped collection.
- requires_profiling
executor:
archive:
@ -45,14 +45,14 @@ executor:
await import('jstests/libs/override_methods/set_read_and_write_concerns.js');
await import("jstests/libs/override_methods/enable_causal_consistency.js");
hooks:
# The CheckReplDBHash hook waits until all operations have replicated to and have been applied
# on the secondaries, so we run the ValidateCollections hook after it to ensure we're
# validating the entire contents of the collection.
- class: CheckReplOplogs
- class: CheckReplDBHash
- class: ValidateCollections
- class: CleanEveryN
n: 20
# The CheckReplDBHash hook waits until all operations have replicated to and have been applied
# on the secondaries, so we run the ValidateCollections hook after it to ensure we're
# validating the entire contents of the collection.
- class: CheckReplOplogs
- class: CheckReplDBHash
- class: ValidateCollections
- class: CleanEveryN
n: 20
fixture:
class: ReplicaSetFixture
mongod_options:
@ -60,5 +60,5 @@ executor:
enableTestCommands: 1
writePeriodicNoops: 1
minSnapshotHistoryWindowInSeconds: 3600
enableMajorityReadConcern: ''
enableMajorityReadConcern: ""
num_nodes: 2

View File

@ -2,16 +2,16 @@ test_kind: js_test
selector:
roots:
- jstests/change_streams/**/*.js
- jstests/change_streams/**/*.js
exclude_with_any_tags:
##
# The next tags correspond to the special errors thrown by the
# set_read_and_write_concerns.js override when it refuses to replace the readConcern or
# writeConcern of a particular command. Above each tag are the message(s) that cause the tag to be
# warranted.
##
# "Cowardly refusing to override write concern of command: ..."
- assumes_write_concern_unchanged
##
# The next tags correspond to the special errors thrown by the
# set_read_and_write_concerns.js override when it refuses to replace the readConcern or
# writeConcern of a particular command. Above each tag are the message(s) that cause the tag to be
# warranted.
##
# "Cowardly refusing to override write concern of command: ..."
- assumes_write_concern_unchanged
executor:
archive:
@ -24,7 +24,7 @@ executor:
global_vars:
TestData:
defaultReadConcernLevel: null
enableMajorityReadConcern: ''
enableMajorityReadConcern: ""
# Enable causal consistency for change streams suites using 1 node replica sets. Some tests
# rely on the assumption that a w:majority write will be visible immediately in a subsequently
# opened change stream. In 1 node replica sets, an operation that majority commits at
@ -38,18 +38,18 @@ executor:
await import('jstests/libs/override_methods/set_read_and_write_concerns.js');
await import('jstests/libs/override_methods/enable_causal_consistency_without_read_pref.js');
hooks:
# The CheckReplDBHash hook waits until all operations have replicated to and have been applied
# on the secondaries, so we run the ValidateCollections hook after it to ensure we're
# validating the entire contents of the collection.
- class: CheckReplOplogs
- class: CheckReplDBHash
- class: ValidateCollections
- class: CleanEveryN
n: 20
# The CheckReplDBHash hook waits until all operations have replicated to and have been applied
# on the secondaries, so we run the ValidateCollections hook after it to ensure we're
# validating the entire contents of the collection.
- class: CheckReplOplogs
- class: CheckReplDBHash
- class: ValidateCollections
- class: CleanEveryN
n: 20
fixture:
class: ReplicaSetFixture
mongod_options:
bind_ip_all: ''
bind_ip_all: ""
set_parameters:
enableTestCommands: 1
num_nodes: 2

View File

@ -3,338 +3,338 @@ test_kind: multi_stmt_txn_passthrough
selector:
roots:
- jstests/core/**/*.js
- jstests/core/**/*.js
exclude_files:
# These tests run in the jscore_txn passthrough suites.
- jstests/core/txns/**/*.js
# These tests run in the jscore_txn passthrough suites.
- jstests/core/txns/**/*.js
# The following tests fail because a certain command or functionality is not supported by
# mongos. This command or functionality is placed in a comment next to the failing test.
- jstests/core/**/apitest_db.js # serverStatus output doesn't have storageEngine.
- jstests/core/**/awaitdata_getmore_cmd.js # capped collections.
- jstests/core/**/bypass_doc_validation.js # sharded $out output not permitted
- jstests/core/**/check_shard_index.js # checkShardingIndex.
- jstests/core/**/collection_truncate.js # emptycapped.
- jstests/core/**/compact_keeps_indexes.js # compact.
- jstests/core/**/currentop.js # uses fsync.
- jstests/core/**/dbhash.js # dbhash.
- jstests/core/**/fsync.js # uses fsync.
- jstests/core/**/geo_s2cursorlimitskip.js # profiling.
- jstests/core/**/geo_update_btree2.js # notablescan.
- jstests/core/**/index9.js # "local" database.
- jstests/core/**/queryoptimizera.js # "local" database.
- jstests/core/**/stages*.js # stageDebug.
- jstests/core/**/startup_log.js # "local" database.
- jstests/core/**/tailable_cursor_invalidation.js # capped collections.
- jstests/core/**/tailable_getmore_batch_size.js # capped collections.
- jstests/core/**/tailable_skip_limit.js # capped collections.
- jstests/core/**/top.js # top.
# The following tests fail because mongos behaves differently from mongod when testing certain
# functionality. The differences are in a comment next to the failing test.
- jstests/core/**/geo_2d_explain.js # executionSuccess in different spot in explain().
- jstests/core/**/geo_s2explain.js # inputStage in different spot in explain().
- jstests/core/**/geo_s2sparse.js # keysPerIndex in different spot in validate().
- jstests/core/**/operation_latency_histogram.js # Stats are counted differently on mongos, SERVER-24880.
# The following tests fail because they count indexes. These counts do not take into account the
# additional hashed shard key indexes that are automatically added by this passthrough.
- jstests/core/**/apitest_dbcollection.js
- jstests/core/**/bad_index_plugin.js
- jstests/core/**/create_indexes.js
- jstests/core/**/list_indexes_non_existent_ns.js
- jstests/core/**/mr_preserve_indexes.js
# These tests fail because sharded clusters do not clean up correctly after failed index builds.
# See SERVER-33207 as an example.
- jstests/core/**/geo_borders.js
# TODO: Remove after fixing SERVER-29449. executionStats.nReturned is incorrect for sharded
# queries with a limit or for distinct commands.
- jstests/core/**/distinct_index1.js
- jstests/core/**/explain1.js
- jstests/core/**/explain4.js
- jstests/core/**/sortk.js
# TODO: Remove after fixing SERVER-32563. The implementation of explain for the count command is
# incorrect on sharded collections.
- jstests/core/**/explain_count.js
- jstests/core/**/explain_server_params.js
# TODO SERVER-32311: These tests use plan stage helpers which can't handle sharded explain output.
- jstests/core/**/expr_index_use.js
- jstests/core/**/index_multikey.js
- jstests/core/**/optimized_match_explain.js
- jstests/core/**/sort_array.js
# The following tests fail because a certain command or functionality is not supported by
# mongos. This command or functionality is placed in a comment next to the failing test.
- jstests/core/**/apitest_db.js # serverStatus output doesn't have storageEngine.
- jstests/core/**/awaitdata_getmore_cmd.js # capped collections.
- jstests/core/**/bypass_doc_validation.js # sharded $out output not permitted
- jstests/core/**/check_shard_index.js # checkShardingIndex.
- jstests/core/**/collection_truncate.js # emptycapped.
- jstests/core/**/compact_keeps_indexes.js # compact.
- jstests/core/**/currentop.js # uses fsync.
- jstests/core/**/dbhash.js # dbhash.
- jstests/core/**/fsync.js # uses fsync.
- jstests/core/**/geo_s2cursorlimitskip.js # profiling.
- jstests/core/**/geo_update_btree2.js # notablescan.
- jstests/core/**/index9.js # "local" database.
- jstests/core/**/queryoptimizera.js # "local" database.
- jstests/core/**/stages*.js # stageDebug.
- jstests/core/**/startup_log.js # "local" database.
- jstests/core/**/tailable_cursor_invalidation.js # capped collections.
- jstests/core/**/tailable_getmore_batch_size.js # capped collections.
- jstests/core/**/tailable_skip_limit.js # capped collections.
- jstests/core/**/top.js # top.
# The following tests fail because mongos behaves differently from mongod when testing certain
# functionality. The differences are in a comment next to the failing test.
- jstests/core/**/geo_2d_explain.js # executionSuccess in different spot in explain().
- jstests/core/**/geo_s2explain.js # inputStage in different spot in explain().
- jstests/core/**/geo_s2sparse.js # keysPerIndex in different spot in validate().
- jstests/core/**/operation_latency_histogram.js # Stats are counted differently on mongos, SERVER-24880.
# The following tests fail because they count indexes. These counts do not take into account the
# additional hashed shard key indexes that are automatically added by this passthrough.
- jstests/core/**/apitest_dbcollection.js
- jstests/core/**/bad_index_plugin.js
- jstests/core/**/create_indexes.js
- jstests/core/**/list_indexes_non_existent_ns.js
- jstests/core/**/mr_preserve_indexes.js
# These tests fail because sharded clusters do not clean up correctly after failed index builds.
# See SERVER-33207 as an example.
- jstests/core/**/geo_borders.js
# TODO: Remove after fixing SERVER-29449. executionStats.nReturned is incorrect for sharded
# queries with a limit or for distinct commands.
- jstests/core/**/distinct_index1.js
- jstests/core/**/explain1.js
- jstests/core/**/explain4.js
- jstests/core/**/sortk.js
# TODO: Remove after fixing SERVER-32563. The implementation of explain for the count command is
# incorrect on sharded collections.
- jstests/core/**/explain_count.js
- jstests/core/**/explain_server_params.js
# TODO SERVER-32311: These tests use plan stage helpers which can't handle sharded explain output.
- jstests/core/**/expr_index_use.js
- jstests/core/**/index_multikey.js
- jstests/core/**/optimized_match_explain.js
- jstests/core/**/sort_array.js
##
## Limitations with the way the runner file injects transactions.
##
##
## Limitations with the way the runner file injects transactions.
##
# These tests expects some statements to error, which will cause txns to abort entirely.
- jstests/core/**/bulk_api_ordered.js
- jstests/core/**/bulk_api_unordered.js
- jstests/core/**/commands_with_uuid.js
- jstests/core/**/explain_execution_error.js
- jstests/core/**/expr.js
- jstests/core/**/find9.js
- jstests/core/**/find_getmore_bsonsize.js
- jstests/core/**/find_getmore_cmd.js
- jstests/core/**/geo_allowedcomparisons.js
- jstests/core/**/geo_big_polygon2.js
- jstests/core/**/geonear_key.js
- jstests/core/**/in.js
- jstests/core/**/index8.js # No explicit check for failed command.
- jstests/core/**/index_decimal.js
- jstests/core/**/index_large_and_small_dates.js
- jstests/core/**/index_multiple_compatibility.js
- jstests/core/**/index_partial_write_ops.js
- jstests/core/**/indexa.js # No explicit check for failed command.
- jstests/core/**/indexes_multiple_commands.js
- jstests/core/**/js2.js
- jstests/core/json_schema/json_schema.js
- jstests/core/**/mr_bigobject.js
- jstests/core/**/not2.js
- jstests/core/**/null_query_semantics.js
- jstests/core/**/or1.js
- jstests/core/**/or2.js
- jstests/core/**/or3.js
- jstests/core/**/orj.js
- jstests/core/**/ref.js
- jstests/core/**/ref4.js
- jstests/core/**/regex_limit.js
- jstests/core/**/remove_undefined.js
- jstests/core/**/set7.js
- jstests/core/**/sortb.js
- jstests/core/**/sortf.js
- jstests/core/**/sortg.js
- jstests/core/**/sortj.js
- jstests/core/**/sort_with_meta_operator.js
- jstests/core/**/tailable_skip_limit.js
- jstests/core/**/type_array.js
- jstests/core/**/uniqueness.js
- jstests/core/**/unset2.js
- jstests/core/**/update_addToSet.js
- jstests/core/**/update_arrayFilters.js
- jstests/core/**/update_find_and_modify_id.js
- jstests/core/**/update_modifier_pop.js
- jstests/core/**/updateh.js
- jstests/core/**/updatej.js
# These tests expects some statements to error, which will cause txns to abort entirely.
- jstests/core/**/bulk_api_ordered.js
- jstests/core/**/bulk_api_unordered.js
- jstests/core/**/commands_with_uuid.js
- jstests/core/**/explain_execution_error.js
- jstests/core/**/expr.js
- jstests/core/**/find9.js
- jstests/core/**/find_getmore_bsonsize.js
- jstests/core/**/find_getmore_cmd.js
- jstests/core/**/geo_allowedcomparisons.js
- jstests/core/**/geo_big_polygon2.js
- jstests/core/**/geonear_key.js
- jstests/core/**/in.js
- jstests/core/**/index8.js # No explicit check for failed command.
- jstests/core/**/index_decimal.js
- jstests/core/**/index_large_and_small_dates.js
- jstests/core/**/index_multiple_compatibility.js
- jstests/core/**/index_partial_write_ops.js
- jstests/core/**/indexa.js # No explicit check for failed command.
- jstests/core/**/indexes_multiple_commands.js
- jstests/core/**/js2.js
- jstests/core/json_schema/json_schema.js
- jstests/core/**/mr_bigobject.js
- jstests/core/**/not2.js
- jstests/core/**/null_query_semantics.js
- jstests/core/**/or1.js
- jstests/core/**/or2.js
- jstests/core/**/or3.js
- jstests/core/**/orj.js
- jstests/core/**/ref.js
- jstests/core/**/ref4.js
- jstests/core/**/regex_limit.js
- jstests/core/**/remove_undefined.js
- jstests/core/**/set7.js
- jstests/core/**/sortb.js
- jstests/core/**/sortf.js
- jstests/core/**/sortg.js
- jstests/core/**/sortj.js
- jstests/core/**/sort_with_meta_operator.js
- jstests/core/**/tailable_skip_limit.js
- jstests/core/**/type_array.js
- jstests/core/**/uniqueness.js
- jstests/core/**/unset2.js
- jstests/core/**/update_addToSet.js
- jstests/core/**/update_arrayFilters.js
- jstests/core/**/update_find_and_modify_id.js
- jstests/core/**/update_modifier_pop.js
- jstests/core/**/updateh.js
- jstests/core/**/updatej.js
# TODO: SERVER-38207 Cannot insert document with MaxKey shard key.
- jstests/core/**/type8.js
# TODO: SERVER-38207 Cannot insert document with MaxKey shard key.
- jstests/core/**/type8.js
##
## Some aggregation stages don't support snapshot readconcern.
##
##
## Some aggregation stages don't support snapshot readconcern.
##
# explain (requires read concern local)
- jstests/core/**/agg_hint.js
- jstests/core/**/and.js
- jstests/core/**/collation.js
- jstests/core/**/explain_shell_helpers.js
- jstests/core/**/index_partial_read_ops.js
- jstests/core/**/optimized_match_explain.js
- jstests/core/**/sort_array.js
- jstests/core/views/views_collation.js
- jstests/core/**/wildcard_index_count.js
- jstests/core/**/explain_server_params.js
# explain (requires read concern local)
- jstests/core/**/agg_hint.js
- jstests/core/**/and.js
- jstests/core/**/collation.js
- jstests/core/**/explain_shell_helpers.js
- jstests/core/**/index_partial_read_ops.js
- jstests/core/**/optimized_match_explain.js
- jstests/core/**/sort_array.js
- jstests/core/views/views_collation.js
- jstests/core/**/wildcard_index_count.js
- jstests/core/**/explain_server_params.js
# $listSessions
- jstests/core/**/list_all_local_sessions.js
- jstests/core/**/list_all_sessions.js
- jstests/core/**/list_sessions.js
# $listSessions
- jstests/core/**/list_all_local_sessions.js
- jstests/core/**/list_all_sessions.js
- jstests/core/**/list_sessions.js
# $collStats
- jstests/core/**/operation_latency_histogram.js
- jstests/core/views/views_coll_stats.js
- jstests/core/views/views_stats.js
# $collStats
- jstests/core/**/operation_latency_histogram.js
- jstests/core/views/views_coll_stats.js
- jstests/core/views/views_stats.js
# Errors expected to happen in tests, which can cause transactions to get aborted.
# So when the test tries to inspect the documents it can be out of sync (relative
# to test run without multi statement transactions).
- jstests/core/**/bulk_api_ordered.js
- jstests/core/**/bulk_api_unordered.js
- jstests/core/**/doc_validation.js
- jstests/core/**/doc_validation_options.js
- jstests/core/**/field_name_validation.js
- jstests/core/**/insert_illegal_doc.js
- jstests/core/**/push_sort.js
- jstests/core/**/update_arrayFilters.js
- jstests/core/**/update_dbref.js
- jstests/core/**/updatel.js
- jstests/core/**/write_result.js
- jstests/core/**/positional_projection.js
# Errors expected to happen in tests, which can cause transactions to get aborted.
# So when the test tries to inspect the documents it can be out of sync (relative
# to test run without multi statement transactions).
- jstests/core/**/bulk_api_ordered.js
- jstests/core/**/bulk_api_unordered.js
- jstests/core/**/doc_validation.js
- jstests/core/**/doc_validation_options.js
- jstests/core/**/field_name_validation.js
- jstests/core/**/insert_illegal_doc.js
- jstests/core/**/push_sort.js
- jstests/core/**/update_arrayFilters.js
- jstests/core/**/update_dbref.js
- jstests/core/**/updatel.js
- jstests/core/**/write_result.js
- jstests/core/**/positional_projection.js
# Multiple writes in a txn, some of which fail because the collection doesn't exist.
# We create the collection and retry the last write, but previous writes would have
# still failed.
- jstests/core/**/dbref1.js
- jstests/core/**/dbref2.js
- jstests/core/**/ref3.js
- jstests/core/**/update3.js
# Multiple writes in a txn, some of which fail because the collection doesn't exist.
# We create the collection and retry the last write, but previous writes would have
# still failed.
- jstests/core/**/dbref1.js
- jstests/core/**/dbref2.js
- jstests/core/**/ref3.js
- jstests/core/**/update3.js
##
## Misc. reasons.
##
##
## Misc. reasons.
##
# SERVER-34868 Cannot run a legacy query on a session.
- jstests/core/**/exhaust.js
# SERVER-34868 Cannot run a legacy query on a session.
- jstests/core/**/exhaust.js
# SERVER-34772 Tailable Cursors are not allowed with snapshot readconcern.
- jstests/core/**/awaitdata_getmore_cmd.js
- jstests/core/**/getmore_cmd_maxtimems.js
- jstests/core/**/tailable_cursor_invalidation.js
- jstests/core/**/tailable_getmore_batch_size.js
# SERVER-34772 Tailable Cursors are not allowed with snapshot readconcern.
- jstests/core/**/awaitdata_getmore_cmd.js
- jstests/core/**/getmore_cmd_maxtimems.js
- jstests/core/**/tailable_cursor_invalidation.js
- jstests/core/**/tailable_getmore_batch_size.js
# Wrong count for top info (WriteLock)
- jstests/core/**/top.js
# Wrong count for top info (WriteLock)
- jstests/core/**/top.js
# Expects collection to not have been created
- jstests/core/**/insert_id_undefined.js
# Expects collection to not have been created
- jstests/core/**/insert_id_undefined.js
# Creates sessions explicitly, resulting in txns being run through different sessions
# using a single txnNumber.
- jstests/core/json_schema/misc_validation.js
- jstests/core/views/views_all_commands.js
# Creates sessions explicitly, resulting in txns being run through different sessions
# using a single txnNumber.
- jstests/core/json_schema/misc_validation.js
- jstests/core/views/views_all_commands.js
# dropDatabase is not resilient to stepdowns on sharded cluster
- jstests/core/**/dropdb.js
# dropDatabase is not resilient to stepdowns on sharded cluster
- jstests/core/**/dropdb.js
# Committing a transaction when the server is fsync locked fails.
- jstests/core/**/fsync.js
# Committing a transaction when the server is fsync locked fails.
- jstests/core/**/fsync.js
# Expects legacy errors ($err).
- jstests/core/**/constructors.js
# Expects legacy errors ($err).
- jstests/core/**/constructors.js
# txn interrupted by command outside of txn before getMore runs.
- jstests/core/**/commands_namespace_parsing.js
- jstests/core/**/drop3.js
- jstests/core/**/geo_s2cursorlimitskip.js
- jstests/core/**/getmore_invalidated_cursors.js
- jstests/core/**/getmore_invalidated_documents.js
- jstests/core/**/kill_cursors.js
- jstests/core/**/list_indexes.js
- jstests/core/**/oro.js
- jstests/core/**/sort_with_update_between_getmores.js
# txn interrupted by command outside of txn before getMore runs.
- jstests/core/**/commands_namespace_parsing.js
- jstests/core/**/drop3.js
- jstests/core/**/geo_s2cursorlimitskip.js
- jstests/core/**/getmore_invalidated_cursors.js
- jstests/core/**/getmore_invalidated_documents.js
- jstests/core/**/kill_cursors.js
- jstests/core/**/list_indexes.js
- jstests/core/**/oro.js
- jstests/core/**/sort_with_update_between_getmores.js
# Parallel Shell - we do not signal the override to end a txn when a parallel shell closes.
- jstests/core/**/awaitdata_getmore_cmd.js
- jstests/core/**/compact_keeps_indexes.js
- jstests/core/**/count10.js
- jstests/core/**/count_plan_summary.js
- jstests/core/**/coveredIndex3.js
- jstests/core/**/currentop.js
- jstests/core/**/distinct3.js
- jstests/core/**/find_and_modify_concurrent_update.js
- jstests/core/**/fsync.js
- jstests/core/**/geo_update_btree.js
- jstests/core/**/loadserverscripts.js
- jstests/core/**/mr_killop.js
- jstests/core/**/removeb.js
- jstests/core/**/removec.js
- jstests/core/**/shellstartparallel.js
- jstests/core/**/updatef.js
# Parallel Shell - we do not signal the override to end a txn when a parallel shell closes.
- jstests/core/**/awaitdata_getmore_cmd.js
- jstests/core/**/compact_keeps_indexes.js
- jstests/core/**/count10.js
- jstests/core/**/count_plan_summary.js
- jstests/core/**/coveredIndex3.js
- jstests/core/**/currentop.js
- jstests/core/**/distinct3.js
- jstests/core/**/find_and_modify_concurrent_update.js
- jstests/core/**/fsync.js
- jstests/core/**/geo_update_btree.js
- jstests/core/**/loadserverscripts.js
- jstests/core/**/mr_killop.js
- jstests/core/**/removeb.js
- jstests/core/**/removec.js
- jstests/core/**/shellstartparallel.js
- jstests/core/**/updatef.js
# Command expects to see result from parallel operation.
# E.g. Suppose the following sequence of events: op1, join() op2 in parallel shell, op3.
# op3 will still be using the snapshot from op1, and not see op2 at all.
- jstests/core/**/bench_test1.js
- jstests/core/**/benchrun_pipeline_updates.js
- jstests/core/**/cursora.js
# Command expects to see result from parallel operation.
# E.g. Suppose the following sequence of events: op1, join() op2 in parallel shell, op3.
# op3 will still be using the snapshot from op1, and not see op2 at all.
- jstests/core/**/bench_test1.js
- jstests/core/**/benchrun_pipeline_updates.js
- jstests/core/**/cursora.js
# auto_retry_on_network_error.js will timeout with assert.soon and give a different error from
# what test expects. Excluding from suite since it doesn't really do any database operations, so
# it doesn't provide value here.
- jstests/core/**/connection_string_validation.js
# auto_retry_on_network_error.js will timeout with assert.soon and give a different error from
# what test expects. Excluding from suite since it doesn't really do any database operations, so
# it doesn't provide value here.
- jstests/core/**/connection_string_validation.js
# Does not support tojson of command objects.
- jstests/core/**/SERVER-23626.js
# Does not support tojson of command objects.
- jstests/core/**/SERVER-23626.js
# Examines _id of upserted document.
- jstests/core/**/find_and_modify_server7660.js
- jstests/core/**/upsert_shell.js
# Examines _id of upserted document.
- jstests/core/**/find_and_modify_server7660.js
- jstests/core/**/upsert_shell.js
# This file is testing resmoke's multiversion framework, not Server behavior
- jstests/core/**/mixed_version_replica_set.js
# This file is testing resmoke's multiversion framework, not Server behavior
- jstests/core/**/mixed_version_replica_set.js
exclude_with_any_tags:
##
# The next four tags correspond to the special errors thrown by the auto_retry_on_network_error.js
# override when it refuses to run a certain command. Above each tag are the message(s) that cause
# the tag to be warranted.
##
# "Refusing to run a test that issues a getMore command since if a network error occurs during
# it then we won't know whether the cursor was advanced or not"
- requires_getmore
# "Refusing to run a test that issues non-retryable write operations since the test likely makes
# assertions on the write results and can lead to spurious failures if a network error occurs"
- requires_non_retryable_writes
# "Refusing to run a test that issues commands that are not blindly retryable"
# "Refusing to run a test that issues an aggregation command with $out because it is not
# retryable"
- requires_non_retryable_commands
# "Refusing to run a test that issues commands that may return different values after a failover"
# "Refusing to run a test that issues an aggregation command with explain because it may return
# incomplete results"
# "Refusing to run a test that issues an aggregation command with $listLocalCursors or
# $listLocalSessions because they rely on in-memory state that may not survive failovers"
# "Refusing to run a test that issues a mapReduce command, because it calls std::terminate() if
# interrupted by a stepdown"
- does_not_support_stepdowns
##
# The next four tags correspond to the special errors thrown by the auto_retry_on_network_error.js
# override when it refuses to run a certain command. Above each tag are the message(s) that cause
# the tag to be warranted.
##
# "Refusing to run a test that issues a getMore command since if a network error occurs during
# it then we won't know whether the cursor was advanced or not"
- requires_getmore
# "Refusing to run a test that issues non-retryable write operations since the test likely makes
# assertions on the write results and can lead to spurious failures if a network error occurs"
- requires_non_retryable_writes
# "Refusing to run a test that issues commands that are not blindly retryable"
# "Refusing to run a test that issues an aggregation command with $out because it is not
# retryable"
- requires_non_retryable_commands
# "Refusing to run a test that issues commands that may return different values after a failover"
# "Refusing to run a test that issues an aggregation command with explain because it may return
# incomplete results"
# "Refusing to run a test that issues an aggregation command with $listLocalCursors or
# $listLocalSessions because they rely on in-memory state that may not survive failovers"
# "Refusing to run a test that issues a mapReduce command, because it calls std::terminate() if
# interrupted by a stepdown"
- does_not_support_stepdowns
##
# The next tags correspond to the special errors thrown by the
# set_read_and_write_concerns.js override when it refuses to replace the readConcern or
# writeConcern of a particular command. Above each tag are the message(s) that cause the tag to be
# warranted.
##
# "Cowardly refusing to override read concern of command: ..."
- assumes_read_concern_unchanged
# "writeConcern is not allowed within a multi-statement transaction"
- assumes_write_concern_unchanged
##
# The next tags correspond to the special errors thrown by the
# set_read_and_write_concerns.js override when it refuses to replace the readConcern or
# writeConcern of a particular command. Above each tag are the message(s) that cause the tag to be
# warranted.
##
# "Cowardly refusing to override read concern of command: ..."
- assumes_read_concern_unchanged
# "writeConcern is not allowed within a multi-statement transaction"
- assumes_write_concern_unchanged
# The next tag corresponds to long running-operations, as they may exhaust their number
# of retries and result in a network error being thrown.
- operations_longer_than_stepdown_interval
# This tag corresponds to operations which are run long enough to exceed the stepdown interval
# when grouped into transactions
- operations_longer_than_stepdown_interval_in_txns
# The next tag corresponds to long running-operations, as they may exhaust their number
# of retries and result in a network error being thrown.
- operations_longer_than_stepdown_interval
# This tag corresponds to operations which are run long enough to exceed the stepdown interval
# when grouped into transactions
- operations_longer_than_stepdown_interval_in_txns
- assumes_against_mongod_not_mongos
- assumes_standalone_mongod
# This passthrough implicitly shards the accessed collections. Do not run tests where collections
# can't be created on `getCollection` call.
- assumes_no_implicit_collection_creation_on_get_collection
# Tests tagged with the following will fail because they assume collections are not sharded.
- assumes_no_implicit_collection_creation_after_drop
- assumes_no_implicit_index_creation
- assumes_unsharded_collection
- cannot_create_unique_index_when_using_hashed_shard_key
- assumes_against_mongod_not_mongos
- assumes_standalone_mongod
# This passthrough implicitly shards the accessed collections. Do not run tests where collections
# can't be created on `getCollection` call.
- assumes_no_implicit_collection_creation_on_get_collection
# Tests tagged with the following will fail because they assume collections are not sharded.
- assumes_no_implicit_collection_creation_after_drop
- assumes_no_implicit_index_creation
- assumes_unsharded_collection
- cannot_create_unique_index_when_using_hashed_shard_key
# The next tags correspond to the special errors thrown by the
# fail_unclean_shutdown_incompatible_commands.js override when it refuses to run commands that are
# inaccurate after an unclean shutdown. Above each tag is the message that causes the tag to be
# warranted.
##
# "Cowardly fail if fastcount is run with a mongod that had an unclean shutdown: ..."
- requires_fastcount
# "Cowardly fail if dbStats is run with a mongod that had an unclean shutdown: ..."
- requires_dbstats
# "Cowardly fail if collStats is run with a mongod that had an unclean shutdown: ..."
- requires_collstats
# "Cowardly fail if startParallelShell is run with a mongod that had an unclean shutdown: ..."
- uses_parallel_shell
# The next tags correspond to the special errors thrown by the
# fail_unclean_shutdown_incompatible_commands.js override when it refuses to run commands that are
# inaccurate after an unclean shutdown. Above each tag is the message that causes the tag to be
# warranted.
##
# "Cowardly fail if fastcount is run with a mongod that had an unclean shutdown: ..."
- requires_fastcount
# "Cowardly fail if dbStats is run with a mongod that had an unclean shutdown: ..."
- requires_dbstats
# "Cowardly fail if collStats is run with a mongod that had an unclean shutdown: ..."
- requires_collstats
# "Cowardly fail if startParallelShell is run with a mongod that had an unclean shutdown: ..."
- uses_parallel_shell
# system.profile collection doesn't exist on mongos. Also, transactions are not allowed to operate
# on capped collections.
- requires_profiling
# Snapshot reads in transactions are banned on capped collections.
- requires_capped
# Retrying a query can change whether a plan cache entry is active.
- inspects_whether_plan_cache_entry_is_active
- does_not_support_transactions
# Transaction-continuing commands must use the same API parameters as the first command, so tests
# that use API parameters cannot be run with transactions.
- uses_api_parameters
# Used for tests which can run in multiversion configurations but cannot run while a replica set
# or shard is being actively upgraded or downgraded.
- cannot_run_during_upgrade_downgrade
- requires_timeseries # Transactions not supported
# system.profile collection doesn't exist on mongos. Also, transactions are not allowed to operate
# on capped collections.
- requires_profiling
# Snapshot reads in transactions are banned on capped collections.
- requires_capped
# Retrying a query can change whether a plan cache entry is active.
- inspects_whether_plan_cache_entry_is_active
- does_not_support_transactions
# Transaction-continuing commands must use the same API parameters as the first command, so tests
# that use API parameters cannot be run with transactions.
- uses_api_parameters
# Used for tests which can run in multiversion configurations but cannot run while a replica set
# or shard is being actively upgraded or downgraded.
- cannot_run_during_upgrade_downgrade
- requires_timeseries # Transactions not supported
executor:
archive:
@ -374,26 +374,26 @@ executor:
# retry logic in auto_retry_on_network_error.js.
nodb: ""
hooks:
# We use a stepdown interval of 15 seconds because we will retry all commands in a transaction
# so we need to allow time for at most 10 operations to be re-run and then re-committed. If
# too many network errors occur when re-running a transaction we will run out of retries.
- class: ContinuousStepdown
config_stepdown: false
should_downgrade: true
stepdown_interval_ms: 15000
- class: RunChangeStreamsInBackground
# The CheckReplDBHash hook waits until all operations have replicated to and have been applied
# on the secondaries, so we run the ValidateCollections hook after it to ensure we're
# validating the entire contents of the collection.
- class: CheckReplOplogs
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
shell_options:
global_vars:
TestData:
checkCollectionCounts: true
- class: CheckOrphansDeleted
# We use a stepdown interval of 15 seconds because we will retry all commands in a transaction
# so we need to allow time for at most 10 operations to be re-run and then re-committed. If
# too many network errors occur when re-running a transaction we will run out of retries.
- class: ContinuousStepdown
config_stepdown: false
should_downgrade: true
stepdown_interval_ms: 15000
- class: RunChangeStreamsInBackground
# The CheckReplDBHash hook waits until all operations have replicated to and have been applied
# on the secondaries, so we run the ValidateCollections hook after it to ensure we're
# validating the entire contents of the collection.
- class: CheckReplOplogs
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
shell_options:
global_vars:
TestData:
checkCollectionCounts: true
- class: CheckOrphansDeleted
fixture:
class: ShardedClusterFixture
mongos_options:

View File

@ -2,24 +2,24 @@ test_kind: js_test
selector:
roots:
- jstests/change_streams/**/*.js
- jstests/change_streams/**/*.js
exclude_files:
# This test creates a collection (and index) inside a transaction. Even though the collections are
# unsharded this suite enables sharding in the test database which makes transactions against
# it distributed. This causes the following tests to fail since creating a collection in a
# distributed transaction is not allowed.
- jstests/change_streams/ddl_create_index_txn.js
# This test creates a collection (and index) inside a transaction. Even though the collections are
# unsharded this suite enables sharding in the test database which makes transactions against
# it distributed. This causes the following tests to fail since creating a collection in a
# distributed transaction is not allowed.
- jstests/change_streams/ddl_create_index_txn.js
exclude_with_any_tags:
##
# The next tags correspond to the special errors thrown by the
# set_read_and_write_concerns.js override when it refuses to replace the readConcern or
# writeConcern of a particular command. Above each tag are the message(s) that cause the tag to be
# warranted.
##
# "Cowardly refusing to override write concern of command: ..."
- assumes_write_concern_unchanged
# Exclude any that assume sharding is disabled
- assumes_against_mongod_not_mongos
##
# The next tags correspond to the special errors thrown by the
# set_read_and_write_concerns.js override when it refuses to replace the readConcern or
# writeConcern of a particular command. Above each tag are the message(s) that cause the tag to be
# warranted.
##
# "Cowardly refusing to override write concern of command: ..."
- assumes_write_concern_unchanged
# Exclude any that assume sharding is disabled
- assumes_against_mongod_not_mongos
executor:
archive:
@ -32,7 +32,7 @@ executor:
global_vars:
TestData:
defaultReadConcernLevel: null
enableMajorityReadConcern: ''
enableMajorityReadConcern: ""
# Enable causal consistency for change streams suites using 1 node replica sets. See
# change_streams.yml for detailed explanation.
eval: >-
@ -41,23 +41,23 @@ executor:
await import('jstests/libs/override_methods/enable_sessions.js');
await import('jstests/libs/override_methods/enable_causal_consistency_without_read_pref.js');
hooks:
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
- class: CheckOrphansDeleted
- class: CleanEveryN
n: 20
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
- class: CheckOrphansDeleted
- class: CleanEveryN
n: 20
fixture:
class: ShardedClusterFixture
# Use two shards to make sure we will only talk to the primary shard for the database and will
# not delay changes to wait for notifications or a clock advancement from other shards.
num_shards: 2
mongos_options:
bind_ip_all: ''
bind_ip_all: ""
set_parameters:
enableTestCommands: 1
mongod_options:
bind_ip_all: ''
bind_ip_all: ""
set_parameters:
enableTestCommands: 1
periodicNoopIntervalSecs: 1

View File

@ -2,21 +2,21 @@ test_kind: js_test
selector:
roots:
- jstests/change_streams/**/*.js
- jstests/change_streams/**/*.js
exclude_files:
# Parallel Shell - we do not signal the override to end a txn when a parallel shell closes.
- jstests/change_streams/only_wake_getmore_for_relevant_changes.js
# Parallel Shell - we do not signal the override to end a txn when a parallel shell closes.
- jstests/change_streams/only_wake_getmore_for_relevant_changes.js
exclude_with_any_tags:
# These tests would fail with "Cowardly refusing to override write concern of command: ..."
- assumes_write_concern_unchanged
# No need to use a passthrough to add transactions to a test that already has its own
# transactions.
- uses_transactions
# These tests make assumptions about change stream results that are no longer true once operations
# get bundled into transactions.
- change_stream_does_not_expect_txns
# Exclude any that assume sharding is disabled
- assumes_against_mongod_not_mongos
# These tests would fail with "Cowardly refusing to override write concern of command: ..."
- assumes_write_concern_unchanged
# No need to use a passthrough to add transactions to a test that already has its own
# transactions.
- uses_transactions
# These tests make assumptions about change stream results that are no longer true once operations
# get bundled into transactions.
- change_stream_does_not_expect_txns
# Exclude any that assume sharding is disabled
- assumes_against_mongod_not_mongos
executor:
archive:
@ -39,27 +39,27 @@ executor:
await import("jstests/libs/override_methods/network_error_and_txn_override.js");
await import("jstests/libs/override_methods/implicit_filter_eot_changestreams.js");
hooks:
# The CheckReplDBHash hook waits until all operations have replicated to and have been applied
# on the secondaries, so we run the ValidateCollections hook after it to ensure we're
# validating the entire contents of the collection.
- class: CheckReplOplogs
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
- class: CheckOrphansDeleted
- class: CleanEveryN
n: 20
# The CheckReplDBHash hook waits until all operations have replicated to and have been applied
# on the secondaries, so we run the ValidateCollections hook after it to ensure we're
# validating the entire contents of the collection.
- class: CheckReplOplogs
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
- class: CheckOrphansDeleted
- class: CleanEveryN
n: 20
fixture:
class: ShardedClusterFixture
# Use two shards to make sure we will only talk to the primary shard for the database and will
# not delay changes to wait for notifications or a clock advancement from other shards.
num_shards: 2
mongos_options:
bind_ip_all: ''
bind_ip_all: ""
set_parameters:
enableTestCommands: 1
mongod_options:
bind_ip_all: ''
bind_ip_all: ""
set_parameters:
enableTestCommands: 1
periodicNoopIntervalSecs: 1

View File

@ -2,19 +2,19 @@ test_kind: js_test
selector:
roots:
- jstests/change_streams/**/*.js
- jstests/change_streams/**/*.js
exclude_files:
# Parallel Shell - we do not signal the override to end a txn when a parallel shell closes.
- jstests/change_streams/only_wake_getmore_for_relevant_changes.js
# Parallel Shell - we do not signal the override to end a txn when a parallel shell closes.
- jstests/change_streams/only_wake_getmore_for_relevant_changes.js
exclude_with_any_tags:
# These tests would fail with "Cowardly refusing to override write concern of command: ..."
- assumes_write_concern_unchanged
# No need to use a passthrough to add transactions to a test that already has its own
# transactions.
- uses_transactions
# These tests make assumptions about change stream results that are no longer true once operations
# get bundled into transactions.
- change_stream_does_not_expect_txns
# These tests would fail with "Cowardly refusing to override write concern of command: ..."
- assumes_write_concern_unchanged
# No need to use a passthrough to add transactions to a test that already has its own
# transactions.
- uses_transactions
# These tests make assumptions about change stream results that are no longer true once operations
# get bundled into transactions.
- change_stream_does_not_expect_txns
executor:
archive:
@ -36,18 +36,18 @@ executor:
await import("jstests/libs/override_methods/network_error_and_txn_override.js");
await import("jstests/libs/override_methods/implicit_filter_eot_changestreams.js");
hooks:
# The CheckReplDBHash hook waits until all operations have replicated to and have been applied
# on the secondaries, so we run the ValidateCollections hook after it to ensure we're
# validating the entire contents of the collection.
- class: CheckReplOplogs
- class: CheckReplDBHash
- class: ValidateCollections
- class: CleanEveryN
n: 20
# The CheckReplDBHash hook waits until all operations have replicated to and have been applied
# on the secondaries, so we run the ValidateCollections hook after it to ensure we're
# validating the entire contents of the collection.
- class: CheckReplOplogs
- class: CheckReplDBHash
- class: ValidateCollections
- class: CleanEveryN
n: 20
fixture:
class: ReplicaSetFixture
mongod_options:
bind_ip_all: ''
bind_ip_all: ""
set_parameters:
enableTestCommands: 1
num_nodes: 1

View File

@ -8,19 +8,19 @@ test_kind: js_test
selector:
roots:
- jstests/change_streams/**/*.js
- jstests/change_streams/**/*.js
exclude_files:
# Parallel Shell - we do not signal the override to end a txn when a parallel shell closes.
- jstests/change_streams/only_wake_getmore_for_relevant_changes.js
# Parallel Shell - we do not signal the override to end a txn when a parallel shell closes.
- jstests/change_streams/only_wake_getmore_for_relevant_changes.js
exclude_with_any_tags:
# These tests would fail with "Cowardly refusing to override write concern of command: ..."
- assumes_write_concern_unchanged
# No need to use a passthrough to add transactions to a test that already has its own
# transactions.
- uses_transactions
# These tests make assumptions about change stream results that are no longer true once operations
# get bundled into transactions.
- change_stream_does_not_expect_txns
# These tests would fail with "Cowardly refusing to override write concern of command: ..."
- assumes_write_concern_unchanged
# No need to use a passthrough to add transactions to a test that already has its own
# transactions.
- uses_transactions
# These tests make assumptions about change stream results that are no longer true once operations
# get bundled into transactions.
- change_stream_does_not_expect_txns
executor:
archive:
@ -45,20 +45,20 @@ executor:
await import("jstests/libs/override_methods/network_error_and_txn_override.js");
await import("jstests/libs/override_methods/implicit_filter_eot_changestreams.js");
hooks:
# The CheckReplDBHash hook waits until all operations have replicated to and have been applied
# on the secondaries, so we run the ValidateCollections hook after it to ensure we're
# validating the entire contents of the collection.
- class: CheckReplOplogs
# TODO (SERVER-83433): Add back the test coverage for running db hash check on replica set
# that is fsync locked and has replica set endpoint enabled.
# - CheckReplDBHash
- class: ValidateCollections
- class: CleanEveryN
n: 20
# The CheckReplDBHash hook waits until all operations have replicated to and have been applied
# on the secondaries, so we run the ValidateCollections hook after it to ensure we're
# validating the entire contents of the collection.
- class: CheckReplOplogs
# TODO (SERVER-83433): Add back the test coverage for running db hash check on replica set
# that is fsync locked and has replica set endpoint enabled.
# - CheckReplDBHash
- class: ValidateCollections
- class: CleanEveryN
n: 20
fixture:
class: ReplicaSetFixture
mongod_options:
bind_ip_all: ''
bind_ip_all: ""
set_parameters:
enableTestCommands: 1
featureFlagAllMongodsAreSharded: 1

View File

@ -2,22 +2,22 @@ test_kind: js_test
selector:
roots:
- jstests/change_streams/**/*.js
- jstests/change_streams/**/*.js
exclude_files:
# Parallel Shell - we do not signal the override to end a txn when a parallel shell closes.
- jstests/change_streams/only_wake_getmore_for_relevant_changes.js
# Parallel Shell - we do not signal the override to end a txn when a parallel shell closes.
- jstests/change_streams/only_wake_getmore_for_relevant_changes.js
exclude_with_any_tags:
# These tests would fail with "Cowardly refusing to override write concern of command: ..."
- assumes_write_concern_unchanged
# No need to use a passthrough to add transactions to a test that already has its own
# transactions.
- uses_transactions
# These tests make assumptions about change stream results that are no longer true once operations
# get bundled into transactions.
- change_stream_does_not_expect_txns
# Exclude any tests that don't support sharding.
- assumes_against_mongod_not_mongos
- assumes_unsharded_collection
# These tests would fail with "Cowardly refusing to override write concern of command: ..."
- assumes_write_concern_unchanged
# No need to use a passthrough to add transactions to a test that already has its own
# transactions.
- uses_transactions
# These tests make assumptions about change stream results that are no longer true once operations
# get bundled into transactions.
- change_stream_does_not_expect_txns
# Exclude any tests that don't support sharding.
- assumes_against_mongod_not_mongos
- assumes_unsharded_collection
executor:
archive:
@ -40,24 +40,24 @@ executor:
await import("jstests/libs/override_methods/network_error_and_txn_override.js");
await import("jstests/libs/override_methods/implicit_filter_eot_changestreams.js");
hooks:
# The CheckReplDBHash hook waits until all operations have replicated to and have been applied
# on the secondaries, so we run the ValidateCollections hook after it to ensure we're
# validating the entire contents of the collection.
- class: CheckReplOplogs
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
- class: CheckOrphansDeleted
- class: CleanEveryN
n: 20
# The CheckReplDBHash hook waits until all operations have replicated to and have been applied
# on the secondaries, so we run the ValidateCollections hook after it to ensure we're
# validating the entire contents of the collection.
- class: CheckReplOplogs
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
- class: CheckOrphansDeleted
- class: CleanEveryN
n: 20
fixture:
class: ShardedClusterFixture
mongos_options:
bind_ip_all: ''
bind_ip_all: ""
set_parameters:
enableTestCommands: 1
mongod_options:
bind_ip_all: ''
bind_ip_all: ""
set_parameters:
enableTestCommands: 1
writePeriodicNoops: 1

View File

@ -2,62 +2,62 @@ test_kind: js_test
selector:
roots:
- jstests/change_streams/**/*.js
- jstests/change_streams/**/*.js
exclude_files:
##
# TODO SERVER-68341: Implement enable/disable command for mongoQ in the serverless.
- jstests/change_streams/projection_fakes_internal_event.js
##
# TODO SERVER-68341: Implement enable/disable command for mongoQ in the serverless.
- jstests/change_streams/projection_fakes_internal_event.js
##
# TODO SERVER-70760: This test creates its own sharded cluster and uses transaction. The support
# for transaction on multi-tenancy is not fully available. Unblock this test
# after the support is available.
- jstests/change_streams/oplog_rewrite/change_stream_basic_match_pushdown_rewrite.js
##
# TODO SERVER-70760: This test creates its own sharded cluster and uses transaction. The support
# for transaction on multi-tenancy is not fully available. Unblock this test
# after the support is available.
- jstests/change_streams/oplog_rewrite/change_stream_basic_match_pushdown_rewrite.js
##
# These tests run in sharded clusters. The tenant token cannot be injected to the sharded cluster
# currently, as such these tests cannot work in true multitenant environment.
# TODO SERVER-68341: Remove these JS tests from exclusion list.
- jstests/change_streams/show_resharding_system_events.js
- jstests/change_streams/refine_collection_shard_key_event.js
- jstests/change_streams/projection_fakes_internal_event.js
- jstests/change_streams/change_streams_lookup_preimage_with_chunk_migration.js
- jstests/change_streams/migrate_last_chunk_from_shard_event.js
- jstests/change_streams/shard_collection_event.js
- jstests/change_streams/create_event_from_chunk_migration.js
- jstests/change_streams/oplog_rewrite/change_stream_match_pushdown_documentKey_rewrite.js
- jstests/change_streams/oplog_rewrite/change_stream_match_pushdown_fullDocumentBeforeChange_rewrite.js
- jstests/change_streams/oplog_rewrite/change_stream_match_pushdown_fullDocument_rewrite.js
- jstests/change_streams/oplog_rewrite/change_stream_match_pushdown_operation_type_rewrite.js
- jstests/change_streams/oplog_rewrite/change_stream_match_pushdown_to_rewrite.js
- jstests/change_streams/oplog_rewrite/change_stream_match_pushdown_updateDescription_rewrite.js
- jstests/change_streams/oplog_rewrite/match_pushdown_namespace_rewrite_with_expanded_events.js
- jstests/change_streams/oplog_rewrite/change_stream_basic_match_pushdown_rewrite.js
- jstests/change_streams/oplog_rewrite/change_stream_match_pushdown_namespace_rewrite.js
- jstests/change_streams/reshard_collection_event.js
##
# These tests run in sharded clusters. The tenant token cannot be injected to the sharded cluster
# currently, as such these tests cannot work in true multitenant environment.
# TODO SERVER-68341: Remove these JS tests from exclusion list.
- jstests/change_streams/show_resharding_system_events.js
- jstests/change_streams/refine_collection_shard_key_event.js
- jstests/change_streams/projection_fakes_internal_event.js
- jstests/change_streams/change_streams_lookup_preimage_with_chunk_migration.js
- jstests/change_streams/migrate_last_chunk_from_shard_event.js
- jstests/change_streams/shard_collection_event.js
- jstests/change_streams/create_event_from_chunk_migration.js
- jstests/change_streams/oplog_rewrite/change_stream_match_pushdown_documentKey_rewrite.js
- jstests/change_streams/oplog_rewrite/change_stream_match_pushdown_fullDocumentBeforeChange_rewrite.js
- jstests/change_streams/oplog_rewrite/change_stream_match_pushdown_fullDocument_rewrite.js
- jstests/change_streams/oplog_rewrite/change_stream_match_pushdown_operation_type_rewrite.js
- jstests/change_streams/oplog_rewrite/change_stream_match_pushdown_to_rewrite.js
- jstests/change_streams/oplog_rewrite/change_stream_match_pushdown_updateDescription_rewrite.js
- jstests/change_streams/oplog_rewrite/match_pushdown_namespace_rewrite_with_expanded_events.js
- jstests/change_streams/oplog_rewrite/change_stream_basic_match_pushdown_rewrite.js
- jstests/change_streams/oplog_rewrite/change_stream_match_pushdown_namespace_rewrite.js
- jstests/change_streams/reshard_collection_event.js
##
# These tests issue 'applyOps' command to which tenant token cannot be injected.
- jstests/change_streams/apply_ops.js
- jstests/change_streams/lookup_pit_pre_and_post_image_in_transaction.js
##
# These tests issue 'applyOps' command to which tenant token cannot be injected.
- jstests/change_streams/apply_ops.js
- jstests/change_streams/lookup_pit_pre_and_post_image_in_transaction.js
##
# This test uses 'system' database and tenant token cannot be injected in 'system.$cmd' namespace.
- jstests/change_streams/global_index.js
##
# This test uses 'system' database and tenant token cannot be injected in 'system.$cmd' namespace.
- jstests/change_streams/global_index.js
# Queryable encryption test requires an internal connection for the keyvault that does not
# inject tenant token.
- jstests/change_streams/queryable_encryption_change_stream.js
# Queryable encryption test requires an internal connection for the keyvault that does not
# inject tenant token.
- jstests/change_streams/queryable_encryption_change_stream.js
exclude_with_any_tags:
##
# The next tags correspond to the special errors thrown by the
# set_read_and_write_concerns.js override when it refuses to replace the readConcern or
# writeConcern of a particular command. Above each tag are the message(s) that cause the tag to be
# warranted.
##
# "Cowardly refusing to override write concern of command: ..."
- assumes_write_concern_unchanged
##
# The next tags correspond to the special errors thrown by the
# set_read_and_write_concerns.js override when it refuses to replace the readConcern or
# writeConcern of a particular command. Above each tag are the message(s) that cause the tag to be
# warranted.
##
# "Cowardly refusing to override write concern of command: ..."
- assumes_write_concern_unchanged
executor:
archive:
@ -69,7 +69,7 @@ executor:
global_vars:
TestData:
defaultReadConcernLevel: null
enableMajorityReadConcern: ''
enableMajorityReadConcern: ""
tenantId: "636d957b2646ddfaf9b5e13f"
hashTestNamesForMultitenancy: true
# Enable causal consistency for change streams suites using 1 node replica sets. See
@ -80,22 +80,22 @@ executor:
await import('jstests/libs/override_methods/enable_causal_consistency_without_read_pref.js');
await import('jstests/libs/override_methods/simulate_mongoq.js');
hooks:
# The CheckReplDBHash hook waits until all operations have replicated to and have been applied
# on the secondaries, so we run the ValidateCollections hook after it to ensure we're
# validating the entire contents of the collection.
- class: CheckReplDBHash
- class: ValidateCollections
- class: CleanEveryN
n: 20
- class: EnableChangeStream
tenant_id: "636d957b2646ddfaf9b5e13f"
# The CheckReplDBHash hook waits until all operations have replicated to and have been applied
# on the secondaries, so we run the ValidateCollections hook after it to ensure we're
# validating the entire contents of the collection.
- class: CheckReplDBHash
- class: ValidateCollections
- class: CleanEveryN
n: 20
- class: EnableChangeStream
tenant_id: "636d957b2646ddfaf9b5e13f"
fixture:
class: ReplicaSetFixture
replset_name: "ChangeStreamMultitenantReplSet"
mongod_options:
bind_ip_all: ''
bind_ip_all: ""
serverless: true
noscripting: ''
noscripting: ""
set_parameters:
enableTestCommands: 1
featureFlagServerlessChangeStreams: true

View File

@ -2,35 +2,35 @@ test_kind: js_test
selector:
roots:
- jstests/change_streams/**/*.js
- jstests/change_streams/**/*.js
exclude_files:
# TODO SERVER-68341: Implement enable/disable command for mongoQ in the serverless.
- jstests/change_streams/**/*.js
# TODO SERVER-68341: Implement enable/disable command for mongoQ in the serverless.
- jstests/change_streams/projection_fakes_internal_event.js
# TODO SERVER-68557 This test list databases that does not work in the sharded-cluster. This test
# should be unblocked after the ticket is done.
- jstests/change_streams/does_not_implicitly_create_database.js
# TODO SERVER-68341: Implement enable/disable command for mongoQ in the serverless.
- jstests/change_streams/**/*.js
# TODO SERVER-68341: Implement enable/disable command for mongoQ in the serverless.
- jstests/change_streams/projection_fakes_internal_event.js
# TODO SERVER-68557 This test list databases that does not work in the sharded-cluster. This test
# should be unblocked after the ticket is done.
- jstests/change_streams/does_not_implicitly_create_database.js
exclude_with_any_tags:
##
# The next tags correspond to the special errors thrown by the
# set_read_and_write_concerns.js override when it refuses to replace the readConcern or
# writeConcern of a particular command. Above each tag are the message(s) that cause the tag to be
# warranted.
##
# "Cowardly refusing to override write concern of command: ..."
- assumes_write_concern_unchanged
# Exclude any that assume sharding is disabled.
- assumes_against_mongod_not_mongos
# This passthrough implicitly shards the accessed collections. Do not run tests that assume
# unsharded collections.
- assumes_unsharded_collection
# This passthrough implicitly shards the accessed collections. Do not run tests where collections
# can't be created on `getCollection` call.
- assumes_no_implicit_collection_creation_on_get_collection
# TODO SERVER-70760: The support for transaction in not fully available in multi-tenant sharded
# cluster. This tag should be removed after it is available.
- uses_transactions
##
# The next tags correspond to the special errors thrown by the
# set_read_and_write_concerns.js override when it refuses to replace the readConcern or
# writeConcern of a particular command. Above each tag are the message(s) that cause the tag to be
# warranted.
##
# "Cowardly refusing to override write concern of command: ..."
- assumes_write_concern_unchanged
# Exclude any that assume sharding is disabled.
- assumes_against_mongod_not_mongos
# This passthrough implicitly shards the accessed collections. Do not run tests that assume
# unsharded collections.
- assumes_unsharded_collection
# This passthrough implicitly shards the accessed collections. Do not run tests where collections
# can't be created on `getCollection` call.
- assumes_no_implicit_collection_creation_on_get_collection
# TODO SERVER-70760: The support for transaction in not fully available in multi-tenant sharded
# cluster. This tag should be removed after it is available.
- uses_transactions
executor:
archive:
@ -43,7 +43,7 @@ executor:
global_vars:
TestData:
defaultReadConcernLevel: null
enableMajorityReadConcern: ''
enableMajorityReadConcern: ""
# Enable causal consistency for change streams suites using 1 node replica sets. See
# change_streams.yml for detailed explanation.
eval: >-
@ -53,22 +53,22 @@ executor:
await import('jstests/libs/override_methods/implicitly_shard_accessed_collections.js');
await import('jstests/libs/override_methods/override_fixtures_changestream_multitenancy.js');
hooks:
- class: EnableChangeStream
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
- class: CheckOrphansDeleted
- class: CleanEveryN
n: 20
- class: EnableChangeStream
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
- class: CheckOrphansDeleted
- class: CleanEveryN
n: 20
fixture:
class: ShardedClusterFixture
num_shards: 2
mongos_options:
bind_ip_all: ''
bind_ip_all: ""
set_parameters:
enableTestCommands: 1
mongod_options:
bind_ip_all: ''
bind_ip_all: ""
set_parameters:
enableTestCommands: 1
periodicNoopIntervalSecs: 1
@ -76,6 +76,6 @@ executor:
shard_options:
mongod_options:
set_parameters:
# TODO SERVER-68341 Pass multitenancy flags to the set_parameters.
# TODO SERVER-68341 Pass multitenancy flags to the set_parameters.
featureFlagServerlessChangeStreams: true
internalChangeStreamUseTenantIdForTesting: true

View File

@ -2,25 +2,25 @@ test_kind: js_test
selector:
roots:
- jstests/change_streams/**/*.js
- jstests/change_streams/**/*.js
exclude_files:
# Expects a change stream cursor to be open on each of 2 shards.
- jstests/change_streams/projection_fakes_internal_event.js
# Expects a change stream cursor to be open on each of 2 shards.
- jstests/change_streams/projection_fakes_internal_event.js
exclude_with_any_tags:
##
# The next tags correspond to the special errors thrown by the
# set_read_and_write_concerns.js override when it refuses to replace the readConcern or
# writeConcern of a particular command. Above each tag are the message(s) that cause the tag to be
# warranted.
##
# "Cowardly refusing to override write concern of command: ..."
- assumes_write_concern_unchanged
# Exclude any that assume sharding is disabled
- assumes_against_mongod_not_mongos
- assumes_unsharded_collection
# This passthrough implicitly shards the accessed collections. Do not run tests where collections
# can't be created on `getCollection` call.
- assumes_no_implicit_collection_creation_on_get_collection
##
# The next tags correspond to the special errors thrown by the
# set_read_and_write_concerns.js override when it refuses to replace the readConcern or
# writeConcern of a particular command. Above each tag are the message(s) that cause the tag to be
# warranted.
##
# "Cowardly refusing to override write concern of command: ..."
- assumes_write_concern_unchanged
# Exclude any that assume sharding is disabled
- assumes_against_mongod_not_mongos
- assumes_unsharded_collection
# This passthrough implicitly shards the accessed collections. Do not run tests where collections
# can't be created on `getCollection` call.
- assumes_no_implicit_collection_creation_on_get_collection
executor:
archive:
@ -33,7 +33,7 @@ executor:
global_vars:
TestData:
defaultReadConcernLevel: null
enableMajorityReadConcern: ''
enableMajorityReadConcern: ""
# Enable causal consistency for change streams suites using 1 node replica sets. See
# change_streams.yml for detailed explanation.
eval: >-
@ -43,20 +43,20 @@ executor:
await import('jstests/libs/override_methods/enable_causal_consistency_without_read_pref.js');
await import('jstests/libs/override_methods/implicit_passthrough_to_shard_changestreams.js');
hooks:
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
- class: CheckOrphansDeleted
- class: CleanEveryN
n: 20
- class: CheckReplDBHash
- class: CheckMetadataConsistencyInBackground
- class: ValidateCollections
- class: CheckOrphansDeleted
- class: CleanEveryN
n: 20
fixture:
class: ShardedClusterFixture
mongos_options:
bind_ip_all: ''
bind_ip_all: ""
set_parameters:
enableTestCommands: 1
mongod_options:
bind_ip_all: ''
bind_ip_all: ""
set_parameters:
enableTestCommands: 1
writePeriodicNoops: 1

View File

@ -2,18 +2,18 @@ test_kind: js_test
selector:
roots:
- jstests/change_streams/**/*.js
- jstests/change_streams/**/*.js
exclude_with_any_tags:
##
# The next tags correspond to the special errors thrown by the
# set_read_and_write_concerns.js override when it refuses to replace the readConcern or
# writeConcern of a particular command. Above each tag are the message(s) that cause the tag to be
# warranted.
##
# "Cowardly refusing to override write concern of command: ..."
- assumes_write_concern_unchanged
# Not relevant for whole-cluster change streams.
- do_not_run_in_whole_cluster_passthrough
##
# The next tags correspond to the special errors thrown by the
# set_read_and_write_concerns.js override when it refuses to replace the readConcern or
# writeConcern of a particular command. Above each tag are the message(s) that cause the tag to be
# warranted.
##
# "Cowardly refusing to override write concern of command: ..."
- assumes_write_concern_unchanged
# Not relevant for whole-cluster change streams.
- do_not_run_in_whole_cluster_passthrough
executor:
archive:
@ -26,7 +26,7 @@ executor:
global_vars:
TestData:
defaultReadConcernLevel: null
enableMajorityReadConcern: ''
enableMajorityReadConcern: ""
# Enable causal consistency for change streams suites using 1 node replica sets. See
# change_streams.yml for detailed explanation.
eval: >-
@ -35,18 +35,18 @@ executor:
await import('jstests/libs/override_methods/implicit_whole_cluster_changestreams.js');
await import('jstests/libs/override_methods/enable_causal_consistency_without_read_pref.js');
hooks:
# The CheckReplDBHash hook waits until all operations have replicated to and have been applied
# on the secondaries, so we run the ValidateCollections hook after it to ensure we're
# validating the entire contents of the collection.
- class: CheckReplOplogs
- class: CheckReplDBHash
- class: ValidateCollections
- class: CleanEveryN
n: 20
# The CheckReplDBHash hook waits until all operations have replicated to and have been applied
# on the secondaries, so we run the ValidateCollections hook after it to ensure we're
# validating the entire contents of the collection.
- class: CheckReplOplogs
- class: CheckReplDBHash
- class: ValidateCollections
- class: CleanEveryN
n: 20
fixture:
class: ReplicaSetFixture
mongod_options:
bind_ip_all: ''
bind_ip_all: ""
set_parameters:
enableTestCommands: 1
num_nodes: 1

Some files were not shown because too many files have changed in this diff Show More