[
https://issues.apache.org/jira/browse/IGNITE-20685?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexander Lapin updated IGNITE-20685:
-------------------------------------
Description:
h3. Motivation
Let's assume that the date node somehow found out that the transaction
coordinator is dead, but the products of its activity such as locks and write
intents are still present. In that case it’s necessary to check whether
corresponding transaction was actually finished and if not finish it.
h3. Definition of Done
* Transactions X that detects (detection logic will be covered in a separate
ticket) that coordinator is dead awaits commitPartition primary replica and
sends initiateRecoveryReplicaRequest to it in a fully asynchronous manner.
Meaning that transaction X should behave itself in a way as it specified in
deadlock prevention engine and do not explicitly wait for initiateRecovery
result. Actually we do not expect any direct response from initiate recovery.
Initiate recovery failover will be implemented in a different way.
* Commit partition somewhere handles given request. No-op handling is expected
for now, proper one will be added in IGNITE-20735
h3. Implementation Notes
Given ticket is trivial and should be considered as a bridge between durable tx
coordinator liveness detection and corresponding initiateRecoveryReplicaRequest
handling. Both items will be covered in a separate tickets.
was:
h3. Motivation
Let's assume that the date node somehow found out that the transaction
coordinator is dead, but the products of its activity such as locks and write
intents are still present. In that case it’s necessary to check whether
corresponding transaction was actually finished and if not finish it.
h3. Definition of Done
* Transactions X that detects (detection logic will be covered in a separate
ticket) that coordinator is dead awaits commitPartition primary replica and
sends initiateRecoveryReplicaRequest to it in a fully asynchronous manner.
Meaning that transaction X should behave itself in a way as it specified in
deadlock prevention engine and do not explicitly wait for initiateRecovery
result. Actually we do not expect any direct response from initiate recovery.
Initiate recovery failover will be implemented in a different way.
* Commit Partition somewhere handles given request. No-op handling is expected
for now, propper one will be added in
[IGNITE-20735|https://issues.apache.org/jira/browse/IGNITE-20735]
h3. Implementation Notes
Given ticket is trivial and should be considered as a bridge between durable tx
coordinator liveness detection and corresponding initiateRecoveryReplicaRequest
handling. Both items will be covered in a separate tickets.
> Implement ability to trigger transaction recovery
> -------------------------------------------------
>
> Key: IGNITE-20685
> URL: https://issues.apache.org/jira/browse/IGNITE-20685
> Project: Ignite
> Issue Type: Improvement
> Reporter: Alexander Lapin
> Priority: Major
>
> h3. Motivation
> Let's assume that the date node somehow found out that the transaction
> coordinator is dead, but the products of its activity such as locks and write
> intents are still present. In that case it’s necessary to check whether
> corresponding transaction was actually finished and if not finish it.
> h3. Definition of Done
> * Transactions X that detects (detection logic will be covered in a separate
> ticket) that coordinator is dead awaits commitPartition primary replica and
> sends initiateRecoveryReplicaRequest to it in a fully asynchronous manner.
> Meaning that transaction X should behave itself in a way as it specified in
> deadlock prevention engine and do not explicitly wait for initiateRecovery
> result. Actually we do not expect any direct response from initiate recovery.
> Initiate recovery failover will be implemented in a different way.
> * Commit partition somewhere handles given request. No-op handling is
> expected for now, proper one will be added in IGNITE-20735
> h3. Implementation Notes
> Given ticket is trivial and should be considered as a bridge between durable
> tx coordinator liveness detection and corresponding
> initiateRecoveryReplicaRequest handling. Both items will be covered in a
> separate tickets.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)