The feature flags test util is offering some functions to retrieve the status of feature flags in sharded clusters.
Purpose of this ticket is to make the library resilient to failovers since we've been observing some [rare] failures in suites with stepdowns and primary nodes termination.
Examples of errors hit during testing:
Error: interrupted at shutdown [fsm_workload_test:write_without_shard_key_with_resharding] _constructFromExistingSeedNode/rst.nodes<@src/mongo/shell/replsettest.js:3968:24 _constructFromExistingSeedNode@src/mongo/shell/replsettest.js:3965:35 ReplSetTest/<@src/mongo/shell/replsettest.js:4023:43 retryOnRetryableError@src/mongo/shell/utils.js:64:20 ReplSetTest@src/mongo/shell/replsettest.js:4019:30 getAllReplicas/replicas<@/data/mci/33b9787d8cdc4879bb784df855fdb225/src/jstests/libs/fixture_helpers.js:24:52 DBQuery.prototype.map@src/mongo/shell/query.js:473:16 getAllReplicas@/data/mci/33b9787d8cdc4879bb784df855fdb225/src/jstests/libs/fixture_helpers.js:24:34 getPrimaries@/data/mci/33b9787d8cdc4879bb784df855fdb225/src/jstests/libs/fixture_helpers.js:240:16 setConn@/data/mci/33b9787d8cdc4879bb784df855fdb225/src/jstests/libs/feature_flag_util.js:35:50 getStatus@/data/mci/33b9787d8cdc4879bb784df855fdb225/src/jstests/libs/feature_flag_util.js:48:24 isPresentAndEnabled@/data/mci/33b9787d8cdc4879bb784df855fdb225/src/jstests/libs/feature_flag_util.js:150:16 init@/data/mci/33b9787d8cdc4879bb784df855fdb225/src/jstests/concurrency/fsm_workloads/write_without_shard_key_base.js:466:29 init@/data/mci/33b9787d8cdc4879bb784df855fdb225/src/jstests/concurrency/fsm_workloads/write_without_shard_key_with_resharding.js:30:28 runFSM@/data/mci/33b9787d8cdc4879bb784df855fdb225/src/jstests/concurrency/fsm_libs/fsm.js:157:20 @eval:8:19 main@/data/mci/33b9787d8cdc4879bb784df855fdb225/src/jstests/concurrency/fsm_libs/worker_thread.js:242:23
Foreground jstests/concurrency/fsm_workloads/write_without_shard_key_with_resharding.js Error: socket exception [CONNECT_ERROR] server [Connection handshake failed. Is your mongod/mongos 3.4 or older? :: caused by :: network error while attempting to run command 'hello' on host 'localhost:20005' :: caused by :: dbclient error communicating with server localhost:20005 :: caused by :: futurize :: caused by :: Connection refused] [fsm_workload_test:write_without_shard_key_with_resharding] Mongo.prototype.runCommand@src/mongo/shell/mongo.js:163:17 runCommandWithRetries/<@/data/mci/996418c3bb92f826703469187e318aaf/src/jstests/libs/override_methods/implicitly_retry_on_background_op_in_progress.js:56:24 assert.soon@src/mongo/shell/assert.js:364:21 runCommandWithRetries@/data/mci/996418c3bb92f826703469187e318aaf/src/jstests/libs/override_methods/implicitly_retry_on_background_op_in_progress.js:52:12 overrideRunCommand/Mongo.prototype.runCommand@/data/mci/996418c3bb92f826703469187e318aaf/src/jstests/libs/override_methods/override_helpers.js:82:20 runCommandOverrideBody@/data/mci/996418c3bb92f826703469187e318aaf/src/jstests/libs/override_methods/network_error_and_txn_override.js:1008:38 runCommandOverride@/data/mci/996418c3bb92f826703469187e318aaf/src/jstests/libs/override_methods/network_error_and_txn_override.js:1085:43 overrideRunCommand/Mongo.prototype.runCommand@/data/mci/996418c3bb92f826703469187e318aaf/src/jstests/libs/override_methods/override_helpers.js:82:20 runCommandWithRetries/<@/data/mci/996418c3bb92f826703469187e318aaf/src/jstests/libs/override_methods/implicitly_retry_on_database_drop_pending.js:26:24 assert.soon@src/mongo/shell/assert.js:364:21 runCommandWithRetries@/data/mci/996418c3bb92f826703469187e318aaf/src/jstests/libs/override_methods/implicitly_retry_on_database_drop_pending.js:23:12 Mongo.prototype.runCommand@/data/mci/996418c3bb92f826703469187e318aaf/src/jstests/libs/override_methods/implicitly_retry_on_database_drop_pending.js:131:12 runCommandWithReadAndWriteConcerns@/data/mci/996418c3bb92f826703469187e318aaf/src/jstests/libs/override_methods/set_read_and_write_concerns.js:160:17 overrideRunCommand/Mongo.prototype.runCommand@/data/mci/996418c3bb92f826703469187e318aaf/src/jstests/libs/override_methods/override_helpers.js:82:20 runClientFunctionWithRetries@src/mongo/shell/session.js:348:42 runCommand@src/mongo/shell/session.js:465:53 DB.prototype._runCommandImpl@src/mongo/shell/db.js:163:45 DB.prototype.runCommand@src/mongo/shell/db.js:178:21 Mongo.prototype.adminCommand@src/mongo/shell/mongo.js:155:32 getStatus@/data/mci/996418c3bb92f826703469187e318aaf/src/jstests/libs/feature_flag_util.js:61:18 isPresentAndEnabled@/data/mci/996418c3bb92f826703469187e318aaf/src/jstests/libs/feature_flag_util.js:147:16 init@/data/mci/996418c3bb92f826703469187e318aaf/src/jstests/concurrency/fsm_workloads/write_without_shard_key_base.js:449:29 init@/data/mci/996418c3bb92f826703469187e318aaf/src/jstests/concurrency/fsm_workloads/write_without_shard_key_with_resharding.js:30:28 runFSM@/data/mci/996418c3bb92f826703469187e318aaf/src/jstests/concurrency/fsm_libs/fsm.js:157:20 @eval:8:19 main@/data/mci/996418c3bb92f826703469187e318aaf/src/jstests/concurrency/fsm_libs/worker_thread.js:241:23
- is caused by
-
SERVER-67902 timeseriesScalabilityImprovementsEnabled() test helper fails in multiversion tests
- Closed
- is related to
-
SERVER-92442 FeatureFlagUtil JS library functions can fail on network errors
- Closed
-
SERVER-92445 FeatureFlagUtil JS library could use some clarifications
- Open
- related to
-
SERVER-91008 The methods of feature_flag_utils.js should be resilient to ShutdownInProgress errors received from server nodes
- Closed