-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Build
Currently, sending SIGUSR2 to a mongo process will cause it to dump the stack traces of all threads. This is especially useful for debugging HELP tickets where a mongo process is hanging. We could increase the usefulness of this signal by making it spew more debugging information about the process. What the hang analyzer currently does could be a good place to start. We could also order this dumping so that lock-free information comes first in order to get all the information possible out of a dump. For example, we could have it dump (non-exhaustively):
- Lock information – with dumpLockManager(), we can see which threads are locking which locks.
- Session information - print the session catalog
- Transaction state
- Recovery unit info
- Storage engine info
- Interesting counters