ascherbakoff commented on code in PR #7999:
URL: https://github.com/apache/ignite-3/pull/7999#discussion_r3121988799


##########
modules/client/src/main/java/org/apache/ignite/internal/client/tx/ClientTransaction.java:
##########
@@ -89,10 +89,14 @@ public class ClientTransaction implements Transaction {
     /** Transaction id. */
     private final long id;
 
-    /** The future used on repeated commit/rollback. */
+    /** The future is used on repeated direct (via API) commit/rollback. */
     @IgniteToStringExclude
     private volatile CompletableFuture<Void> finishFut;
 
+    /** The future is used when a transaction is finished implicitly on 
enlistment failure or kill. */
+    @IgniteToStringExclude

Review Comment:
   There is a scenario, when both futures are required.
   1. implicit rollback is in progress (due to kill for example)
   2. commit is called first time - an implicit rollback future outcome should 
be reported
   3. commit is called second time - a completed future should be reported 
(this is a contract both for subsequent commit/rollback)
   
   In this scenario `implicitRollbackFut `acts similar to `mainFinishFut`



-- 
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]

Reply via email to