[
https://issues.apache.org/jira/browse/IGNITE-21116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Roman Puchkovskiy updated IGNITE-21116:
---------------------------------------
Description:
Let's say a transaction tx1 had started before an index I1 has appeared. Then
I1 switches to the BACKFILLING state, and only then the transaction tries to
finish. This happens after IGNITE-21115 ensuring that all transactions started
before I1 appearance by live coordinators have finished, so I1 belongs to a
dead/unknown coordinator.
We cannot just commit/abort it as it will cause a race between cleaning up the
Write Intents of tx1 and the Backfiller already working on I1. So we should
actually leave the transaction state unchanged and return an error (the error
is most likely already dead, but it might be an unknown coordinator).
> After index backfill has started, ignore attempts to finish a tx started
> before the index had appeared
> ------------------------------------------------------------------------------------------------------
>
> Key: IGNITE-21116
> URL: https://issues.apache.org/jira/browse/IGNITE-21116
> Project: Ignite
> Issue Type: Improvement
> Reporter: Roman Puchkovskiy
> Priority: Major
> Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> Let's say a transaction tx1 had started before an index I1 has appeared. Then
> I1 switches to the BACKFILLING state, and only then the transaction tries to
> finish. This happens after IGNITE-21115 ensuring that all transactions
> started before I1 appearance by live coordinators have finished, so I1
> belongs to a dead/unknown coordinator.
> We cannot just commit/abort it as it will cause a race between cleaning up
> the Write Intents of tx1 and the Backfiller already working on I1. So we
> should actually leave the transaction state unchanged and return an error
> (the error is most likely already dead, but it might be an unknown
> coordinator).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)