-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: 4.3 Required
-
Component/s: Replication
-
None
-
Fully Compatible
-
Build 2019-10-07, Repl 2019-11-04, Repl 2019-11-18
-
0
- Any commits that add server code intended for backport and include .js tests run as part of multiversion testing should include a change to a backports_required_for_multiversion_tests.yml file. This yaml file will contain root level keys for each of the supported multiversion test directories like core, sharding, replication, etc. Engineers should add the test to be blacklisted from multiversion tests along with the SERVER ticket number associated with the commit.
For instance, if I intend to blacklist jstests/core/some_test.js as part of SERVER-1000 I will add the following to backports_required_for_multiversion_tests.yml:
core:
...
- ticket:
SERVER-1000
test_file: jstests/core/some_test.js
Changes to backports_required_for_multiversion_tests.yml will be part of the backports made to the last-stable development branch. On each run of the multiversion tests, we will grab the commit hash of the last-stable nightly build binary and then find the state of backports_required_for_multiversion_tests.yml at that commit hash. We will exclude any tests in (test, ticket) pairs that appear in the latest branch file but not in the last-stable branch file as this would indicate the backport to last-stable has not yet made its way into the last-stable nightly build. Tests that appear in the last-stable branch but not on the latest branch will continue to be run in our multiversion suites.
- The backports_required_for_multiversion_tests.yml file will be cleared on the latest branch upon each time we branch during release. This will be safe because the two files will be identical at branch time.