[ https://issues.apache.org/jira/browse/IGNITE-21500?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kirill Sizov updated IGNITE-21500: ----------------------------------- Description: *Motivation* Implicit transactions are created without a transaction from the client point of view (the transaction is created inside the library and is not exposed outside). A failure to execute such transaction because of the primary replica related exceptions (PrimaryReplicaMissException, etc.). should not result in the users seeing them. Instead, retrying these transactions will likely to succeed. *Definition of done* An implicit transaction that failed to execute because of PrimaryReplicaMissException, PrimaryReplicaAwaitException, TransactionExceptions with messages like "Failed to get the primary replica", "Failed to resolve the primary replica node" should be retried. If it is not possible to await for the primary replica, the transaction will fail. The primary replica failure exceptions are not propagated to the users in cases of implicit transactions - a different exception is thrown instead. *Implementation detail* There might be some difficulties with implicit scan and implicit direct RO transactions. No issues with plain implicit RW transactions is expected. was: *Motivation* Implicit transactions are created without a transaction from the client point of view (the transaction is created inside the library and is not exposed outside). A failure to execute such transaction because of the primary replica related exceptions (PrimaryReplicaMissException, etc.). should not result in the users seeing them. Instead, retrying these transactions will likely to succeed. *Definition of done* An implicit transaction that failed to execute because of PrimaryReplicaMissException, PrimaryReplicaAwaitException, TransactionExceptions with messages like "Failed to get the primary replica", "Failed to resolve the primary replica node" should be retried. If it is not possible to await for the primary replica, the transaction will fail. The primary replica failure exceptions are not propagated to the users in cases of implicit transactions. *Implementation detail* There might be some difficulties with implicit scan and implicit direct RO transactions. No issues with plain implicit RW transactions is expected. > Retry implicit transactions when primary replica failed or moved > ---------------------------------------------------------------- > > Key: IGNITE-21500 > URL: https://issues.apache.org/jira/browse/IGNITE-21500 > Project: Ignite > Issue Type: Improvement > Reporter: Denis Chudov > Priority: Major > Labels: ignite-3 > > *Motivation* > Implicit transactions are created without a transaction from the client point > of view (the transaction is created inside the library and is not exposed > outside). > A failure to execute such transaction because of the primary replica related > exceptions (PrimaryReplicaMissException, etc.). should not result in the > users seeing them. > Instead, retrying these transactions will likely to succeed. > *Definition of done* > An implicit transaction that failed to execute because of > PrimaryReplicaMissException, PrimaryReplicaAwaitException, > TransactionExceptions with messages like "Failed to get the primary replica", > "Failed to resolve the primary replica node" > should be retried. > If it is not possible to await for the primary replica, the transaction will > fail. The primary replica failure exceptions are not propagated to the users > in cases of implicit transactions - a different exception is thrown instead. > *Implementation detail* > There might be some difficulties with implicit scan and implicit direct RO > transactions. No issues with plain implicit RW transactions is expected. -- This message was sent by Atlassian Jira (v8.20.10#820010)