-
Type:
Improvement
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: Testing Infrastructure
-
None
-
Fully Compatible
-
TIG 2018-05-07
The ${timeout_secs} expansion controls how long before the Evergreen agent not seeing any new output from the process causes it to declare that the task has timed out. Based on the log messages that resmoke.py writes to its stdout for when a test starts and completes, this timeout effectively corresponds to the maximum duration we'd want to allow a single test to run for. While we cannot guarantee that all tests finish within 30 minutes (e.g. tests run slower on Code Coverage builder), it should be possible to enforce that no test runs longer than 30 minutes on the required builders.
The changes from EVG-2948 introduced a new timeout.update command that can be used to programmatically set a timeout specific to a particular (task, build variant) combination. We should create a script that has the following behavior:
- if an Evergreen task already specifies ${timeout_secs} as part of calling the "run tests" function (e.g. the fuzzer-related tasks), then the timeout used for the timeout.update command should stay the same as it is now
- otherwise
- if the Evergreen builder is required for patch builds, then the timeout used for the timeout.update command should be lowered to 30 minutes
- otherwise, the timeout used for the timeout.update command should be explicitly set to 2 hours
- is related to
-
SERVER-34697 Stop setting timeout_secs expansion for concurrency suites that have been converted to use resmoke_runner.js
-
- Closed
-
- related to
-
SERVER-34832 Change timeout for auth test suite on linux-debug
-
- Closed
-