[ 
https://issues.apache.org/jira/browse/IGNITE-24346?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexander Lapin updated IGNITE-24346:
-------------------------------------
    Epic Link: IGNITE-24953  (was: IGNITE-22115)

> Do not destroy tx state storage while its content might be needed for write 
> intent resolution
> ---------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-24346
>                 URL: https://issues.apache.org/jira/browse/IGNITE-24346
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Roman Puchkovskiy
>            Priority: Major
>              Labels: ignite-3
>
> Tx finish records stored in tx state storage have to be retained until all 
> write intents corresponding to the finish record's transaction are cleaned up 
> (either converted to normal tuple versions or removed). It is possible that, 
> in the current implementation, we might erase such records too early when 
> destroying a dropped table.
> The suspected scenario is:
>  # tx1 is started, it writes to tables A and B, the it gets committed, commit 
> partition is a partition of A
>  # Cleanup of tx1 is deferred for some reason (like high amount of work the 
> cleanuper does)
>  # A is dropped
>  # After the moment of A's drop sinks under LWM, storages of A's partitions 
> get destroyed (including the commit partition of tx1)
>  # Cleanup of tx1 is attempted, but the tx state storage is destroyed, so the 
> cleanup cannot proceedĀ  -> write intents of tx1 will remain forever unresolved
> We need to check whether this is a possible scenario and, if it's possible, 
> make sure that we keep tx state storages available for cleanup activities 
> until all their transactions get cleaned up, even if this means deferring 
> table partition destruction.
> For per-zone tx state storages to which we are currently switching (see 
> IGNITE-22621), nothing changes: a transaction might span multiple zones and 
> then the zone hosting the commit partition might have been dropped and 
> destroyed (IGNITE-24345).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to