-
Type: New Feature
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Replication, Testing Infrastructure
-
None
-
Fully Compatible
-
Repl 2018-12-03, Repl 2018-12-17
Dumping lock manager will show idle transactions that are holding locks. It will be very helpful to also dump the sessions and their transaction participants to show the logical session id and transaction number that is holding the resources. SERVER-37406 will keep that information in the locker. However, dumping the session catalog is able to print more information, like buffered transaction operations and has no performance impact on production system.
One solution is to implement a global function in C++ to dump session catalog. The concern is that it only works on live process and not on core dump. It runs on a live process so that other threads can also run to change the state as mentioned in SERVER-28437. A better but harder solution is to examine the memory using GDB scripting, which avoids all those problems.
- is related to
-
SERVER-38706 Hang analyzer complains about undefined _killRequested
- Closed
-
SERVER-38757 Using abseil hash maps for stdx::unordered_map breaks GDB pretty printing
- Closed
-
SERVER-42371 Use get_unique_ptr helper in GDB dump sessions command
- Closed
-
SERVER-38823 Re-enable dumping of SessionCatalog in hang analyzer
- Closed
-
SERVER-39969 Fix dumping of SessionCatalog in hang analyzer
- Closed
- related to
-
SERVER-28437 Hang analyzer GDB module mongo_lock.py should use a memory based mechanism to discover the locks
- Closed
-
SERVER-38249 stdx::unordered_map should be implemented as absl::node_hash_map
- Closed
-
SERVER-36727 Dump open transactions and currentOp info in hang analyzer
- Closed
-
SERVER-37406 A stashed Locker should keep information about the owning transaction
- Closed
-
SERVER-39245 Log "verbose" session information in hang analyzer for important transactions
- Closed