Igniters, According to our current design and implementation, unclosed transaction or unreleased lock can hang ignite cluster forever. This is logical, and with correct usage of those mechanics such issue should never happen, in real world developers can make mistakes and leave transaction open. We have a feature "transaction timeout", but turns out it doesn't work in all cases (see https://issues.apache.org/jira/browse/IGNITE-6181). Even if all known issues are fixed, there is still a lot of room for mistake and incorrect usage.
To make it possible for Ignite users to discover such problem and trace it to a particular part of code, I've created a very simple utility that collects and prints information about long running transactions for the whole cluster. It is available here: https://github.com/ilantukh/IgniteTxViewer. One might expect such monitoring utilities to be included in Ignite codebase. Personally, I think that such information should be available from public API, without using of additional applications or diving into Ignite internals. What do you think? -- Best regards, Ilya