[SERVER-21539] Generate report.json file when resmoke.py receives a SIGUSR1 Created: 18/Nov/15  Updated: 26/Nov/18  Resolved: 20/Mar/17

Status: Closed
Project: Core Server
Component/s: Testing Infrastructure
Affects Version/s: None
Fix Version/s: 3.2.13, 3.4.4, 3.5.5

Type: Task Priority: Major - P3
Reporter: Max Hirschhorn Assignee: Max Hirschhorn
Resolution: Done Votes: 4
Labels: bkp
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
Duplicate
Gantt Dependency
has to be done before SERVER-28466 The hang analyzer should not attach t... Closed
Related
related to SERVER-21842 Generate report.json file and dump st... Closed
related to SERVER-12000 smoke.py should allow for optional te... Closed
Backwards Compatibility: Fully Compatible
Backport Requested:
v3.4, v3.2
Sprint: QuInt D (12/14/15), QuInt E (01/11/16), TIG 2016-08-29, TIG 2016-09-19, TIG 2016-10-10, TIG 2016-10-31, TIG 2016-11-21, TIG 2017-03-06, TIG 2017-03-27
Participants:
Linked BF Score: 0

 Description   

This makes it possible to still report individual test success or failure, even when the task times out.



 Comments   
Comment by Githook User [ 17/Apr/17 ]

Author:

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

Message: SERVER-21539 Write report.json file when resmoke.py receives a SIGUSR1.

(cherry picked from commit 83f31ef26ea1a5a914f415b52a1c4e88bc02c7d5)
(cherry picked from commit 66188320dc4f8d4c941160ecc11024690d88dd05)
Branch: v3.2
https://github.com/mongodb/mongo/commit/6cc489e11c4006f4e89ba9f2964e6cb3319fb181

Comment by Githook User [ 28/Mar/17 ]

Author:

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

Message: SERVER-21539 Write report.json file when resmoke.py receives a SIGUSR1.

(cherry picked from commit 83f31ef26ea1a5a914f415b52a1c4e88bc02c7d5)
(cherry picked from commit 66188320dc4f8d4c941160ecc11024690d88dd05)
Branch: v3.4
https://github.com/mongodb/mongo/commit/b2b92f3ac2b5e7597f222a3013a08a0648453519

Comment by Githook User [ 20/Mar/17 ]

Author:

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

Message: SERVER-21539 Release TestReport._lock when recomputing stats.
Branch: master
https://github.com/mongodb/mongo/commit/66188320dc4f8d4c941160ecc11024690d88dd05

Comment by Max Hirschhorn [ 17/Mar/17 ]

I'm re-opening this ticket to fix a self-deadlock issue TestReport.setError() and TestReport.setFailure attempt to acquire the TestReport._lock when calling TestReport.get_successful() while already holding it.

Steps to reproduce

Run a test with the following patch applied and resmoke.py will hang.

diff --git a/buildscripts/resmokelib/testing/job.py b/buildscripts/resmokelib/testing/job.py
index 3f3b84337b..2dee8cf836 100644
--- a/buildscripts/resmokelib/testing/job.py
+++ b/buildscripts/resmokelib/testing/job.py
@@ -101,7 +101,7 @@ class Job(object):
             test.logger.info("%s failed, so stopping..." % (test.shortDescription()))
             raise errors.StopExecution("%s failed" % (test.shortDescription()))
 
-        if not self.fixture.is_running():
+        if True or not self.fixture.is_running():
             self.logger.error("%s marked as a failure because the fixture crashed during the test.",
                               test.shortDescription())
             self.report.setFailure(test, return_code=2)

Comment by Githook User [ 09/Mar/17 ]

Author:

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

Message: SERVER-21539 Write report.json file when resmoke.py receives a SIGUSR1.
Branch: master
https://github.com/mongodb/mongo/commit/83f31ef26ea1a5a914f415b52a1c4e88bc02c7d5

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