[
https://issues.apache.org/jira/browse/FLINK-25689?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jingsong Lee updated FLINK-25689:
---------------------------------
Parent: (was: FLINK-25152)
Issue Type: Bug (was: Sub-task)
> Introduce atomic commit
> -----------------------
>
> Key: FLINK-25689
> URL: https://issues.apache.org/jira/browse/FLINK-25689
> Project: Flink
> Issue Type: Bug
> Components: Table Store
> Reporter: Caizhi Weng
> Assignee: Caizhi Weng
> Priority: Major
> Labels: pull-request-available
> Fix For: table-store-0.1.0
>
>
> This ticket introduces an atomic commit transaction for file store.
> # Before calling {{{}FileStoreCommitImpl#commit{}}}, user should first call
> {{FileStoreCommitImpl#filterCommitted}} to make sure this commit is not done
> before.
> # Before committing, it will first check for conflicts by checking if all
> files to be removed currently exists.
> # After that it use the external {{FileStoreCommitImpl#lock}} (if provided)
> or the atomic rename of the file system to ensure atomicity.
> # If commit fails due to conflicts or exception it tries its best to clean
> up and aborts.
> # If atomic rename fails it tries again after reading the latest snapshot
> from step 2.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)