New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HPCC-20603 Add options to trace postmortem debug info on job abort #11729
Conversation
https://track.hpccsystems.com/browse/HPCC-20603 |
@mckellyln - please review |
@jakesmith I think there is an extra file added ? |
71b33b5
to
d61ca03
Compare
@mckellyln - removed spurious extra file. |
@@ -1939,7 +1939,9 @@ class CJobListener : public CSimpleInterface | |||
CJobSlave *job = jobs.find(jobKey.get()); | |||
if (job) | |||
{ | |||
if (job->getOptBool("dumpInfoOnAbort")) | |||
bool dumpInfo; | |||
msg.read(dumpInfo); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could there be a compatibility issue ? Should we check for dumpInfoOnAbort option before always reading it ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No because this is a Thor master->slave message in same cluster only, and they must always be on same build.
dumpInfoCmd.appendf(" %s %u %s %u", myInstanceName, myBasePort, exePath.str(), pid); | ||
} | ||
else | ||
getDebuggerGetStacksCmd(dumpInfoCmd); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So if there is a dumpInfoCmd configured then it is used instead of the gdb get all stacks ?
Does it always make sense to append thor-instance-name, base-port, exe-path, pid to dumpInfoCmd if we don't know what that is ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So if there is a dumpInfoCmd configured then it is used instead of the gdb get all stacks ?
yes.
Does it always make sense to append thor-instance-name, base-port, exe-path, pid to dumpInfoCmd if we don't know what that is ?
it should be documented that the command is always executed like this, but I think it's okay, unless you have another suggestion?
An alternative approach I suppose would be to set interesting info. into environment variables for the executed program to use if it wanted to.
@jakesmith looks good but have a few questions |
@mckellyln - added some answers. |
@jakesmith looks good for merge. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved
@richardkchapman - please merge. |
@jakesmith Can you squash |
Signed-off-by: Jake Smith <jake.smith@lexisnexisrisk.com>
d61ca03
to
77f49a5
Compare
@mckellyln NB: I've added an option which can default a user abort to dumpInfo too, in case useful. |
@richardkchapman - please merge. |
Automated Smoketest: ✅ Unit tests result:
Regression test result:
HPCC Stop: OK
|
Type of change:
Checklist:
Testing: