[ 
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)

Reply via email to