[SERVER-35472] resmoke.py shouldn't fall back to stderr when logkeeper is unavailable Created: 07/Jun/18  Updated: 29/Oct/23  Resolved: 08/Jun/18

Status: Closed
Project: Core Server
Component/s: Testing Infrastructure
Affects Version/s: None
Fix Version/s: 3.6.7, 4.0.0-rc6, 4.1.1

Type: Improvement Priority: Major - P3
Reporter: Max Hirschhorn Assignee: Max Hirschhorn
Resolution: Fixed Votes: 1
Labels: tig-resmoke
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
depends on SERVER-32121 resmoke.py should cause the Evergreen... Closed
Related
related to SERVER-40592 Uncaught exception in resmoke.py job ... Closed
related to SERVER-42228 LoggerRuntimeConfigError exceptions c... Closed
related to SERVER-35800 resmoke.py should retry getting a bui... Closed
is related to SERVER-32122 resmoke.py should cause the Evergreen... Closed
Backwards Compatibility: Fully Compatible
Backport Requested:
v4.0, v3.6, v3.4, v3.2
Sprint: TIG 2018-06-18
Participants:
Linked BF Score: 25

 Description   

The Evergreen team believes that having resmoke.py fall back to writing the test output to its stderr (and therefore to the "task logs") puts too much pressure on the Evergreen database when logkeeper is unavailable. We would rather discard the test results of an Evergreen task if we fail to record any log messages to the logkeeper rather than try to preserve the test results and record log messages to the Evergreen database.

We can reuse the mechanism from SERVER-32121 to cause the Evergreen task to turn purple should resmoke.py find that logkeeper is unavailable.



 Comments   
Comment by Githook User [ 14/Jul/18 ]

Author:

{'username': 'visemet', 'name': 'Max Hirschhorn', 'email': 'max.hirschhorn@mongodb.com'}

Message: SERVER-35472 Avoid falling back to stderr in resmoke.py.

Instead a special return code of 75 is used to indicate that the log
output would otherwise be incomplete. The incomplete log output state is
ignored if all tests passed.

(cherry picked from commit 6ad26a359f7bc366da13d433ed612ff22f69d323)
(cherry picked from commit 8fae595c44b14aa61951ba413e293449c2b49866)
Branch: v3.6
https://github.com/mongodb/mongo/commit/876e7557cc46987ad5e496b67443f1841d57d83b

Comment by Githook User [ 13/Jun/18 ]

Author:

{'username': 'visemet', 'name': 'Max Hirschhorn', 'email': 'max.hirschhorn@mongodb.com'}

Message: SERVER-35472 Avoid falling back to stderr in resmoke.py.

Instead a special return code of 75 is used to indicate that the log
output would otherwise be incomplete. The incomplete log output state is
ignored if all tests passed.

(cherry picked from commit 6ad26a359f7bc366da13d433ed612ff22f69d323)
(cherry picked from commit 8fae595c44b14aa61951ba413e293449c2b49866)
Branch: v4.0
https://github.com/mongodb/mongo/commit/1d12fbc7362925399e8ad4304307cdffd1d60362

Comment by Githook User [ 08/Jun/18 ]

Author:

{'username': 'visemet', 'name': 'Max Hirschhorn', 'email': 'max.hirschhorn@mongodb.com'}

Message: SERVER-35472 Ignore incomplete log output state if all tests passed.
Branch: master
https://github.com/mongodb/mongo/commit/8fae595c44b14aa61951ba413e293449c2b49866

Comment by Yves Duhem [ 08/Jun/18 ]

Reopening this ticket with a suggestion for an improvement over the current solution.

To give better signal regarding whether a build is successful or not we could keep the task status as "success" when the tests are successful and only use "setup failure" when there are tests failure.

Comment by Githook User [ 08/Jun/18 ]

Author:

{'username': 'visemet', 'name': 'Max Hirschhorn', 'email': 'max.hirschhorn@mongodb.com'}

Message: SERVER-35472 Avoid falling back to stderr in resmoke.py.

Instead a special return code of 75 is used to indicate that the log
output would otherwise be incomplete.
Branch: master
https://github.com/mongodb/mongo/commit/6ad26a359f7bc366da13d433ed612ff22f69d323

Generated at Thu Feb 08 04:39:55 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.