lordgarrish commented on code in PR #13339: URL: https://github.com/apache/ignite/pull/13339#discussion_r4017446802
########## docs/_docs/key-value-api/transactions.adoc: ########## @@ -322,6 +341,89 @@ A transaction might fail with the following exceptions: == Long Running Transactions Termination +The `tx` command of the `control.sh` utility allows you to search for transactions based on various criteria (such as ID, duration, or label) and roll back transactions. Since transactions in Apache Ignite are generally distributed (multiple nodes are involved in processing a single transaction), this command may display the same transaction as present on multiple nodes simultaneously. + +Rolling back a transaction using the `tx` command is only possible for the `ACTIVE`, `PREPARING`, and `PREPARED` statuses. A transaction in statuses related to the `rollback` procedure is already in the process of rolling back. Transactions in the `COMMITTING` and `COMMITTED` statuses cannot be rolled back due to 2PC protocol restrictions. Review Comment: It looks like [we can](https://github.com/apache/ignite/blob/af2741d6a41c6cf6189b2845ca7e6ff52e9952fc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java#L1176): ``` case MARKED_ROLLBACK: { valid = prev == ACTIVE || prev == PREPARING || prev == PREPARED || prev == SUSPENDED; break; } ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
