[SERVER-28354] Add new option to supply base process name in hang_analyzer Created: 16/Mar/17 Updated: 06/Dec/17 Resolved: 13/Apr/17 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Testing Infrastructure |
| Affects Version/s: | None |
| Fix Version/s: | 3.4.5, 3.5.6 |
| Type: | New Feature | Priority: | Major - P3 |
| Reporter: | Jonathan Abrahams | Assignee: | Jonathan Abrahams |
| Resolution: | Done | Votes: | 0 |
| Labels: | bkp | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||
| Backwards Compatibility: | Fully Compatible | ||||
| Backport Requested: |
v3.4
|
||||
| Sprint: | TIG 2017-05-08 | ||||
| Participants: | |||||
| Description |
|
The hang_analyzer option -p uses a list of process name to decide what to analyze. If the process name mongo is supplied it will match on any process containing mongo, i.e., mongod. This uses a "greedy" process match, which is useful for matching unittests, i.e., _test. |
| Comments |
| Comment by Githook User [ 28/Apr/17 ] | ||
|
Author: {u'username': u'hptabster', u'name': u'Jonathan Abrahams', u'email': u'jonathan@mongodb.com'}Message: (cherry picked from commit 484f61548ce56e1b60c0019470ea46f2f4cfffca) | ||
| Comment by Githook User [ 13/Apr/17 ] | ||
|
Author: {u'username': u'hptabster', u'name': u'Jonathan Abrahams', u'email': u'jonathan@mongodb.com'}Message: | ||
| Comment by Githook User [ 13/Apr/17 ] | ||
|
Author: {u'username': u'hptabster', u'name': u'Jonathan Abrahams', u'email': u'jonathan@mongodb.com'}Message: | ||
| Comment by Jonathan Abrahams [ 10/Apr/17 ] | ||
|
This code will be much simpler once BUILD-3083 has been implemented. | ||
| Comment by Max Hirschhorn [ 07/Apr/17 ] | ||
There's definitely some flexibility if the existing process name matching continues to be used in Evergreen. The other thing to keep in mind is that the processes are named along the lines of mongod-3.4 when running the multiversion suite. | ||
| Comment by Jonathan Abrahams [ 07/Apr/17 ] | ||
|
I think having a new option which checks for a match on the base process name. This option is not intended to be used in Evergreen, but in the user's invocation. I'm thinking about invoking it as such:
This would only match mongo & mongos processes, and not mongod The current behavior will be invoked as follows (default value):
Thiw would match mongo & mongos and mongod | ||
| Comment by Max Hirschhorn [ 07/Apr/17 ] | ||
|
jonathan.abrahams, given that the nature of "greedy" matching on the process name is useful for attaching to any C++ unit tests, what are you propose as an alternative? I think there is an advantage to following similar semantics to the pkill command as the hang_analyzer.py script does now. |