[
https://issues.apache.org/jira/browse/FLINK-25689?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jingsong Lee updated FLINK-25689:
---------------------------------
Description:
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.
> Introduce atomic commit
> -----------------------
>
> Key: FLINK-25689
> URL: https://issues.apache.org/jira/browse/FLINK-25689
> Project: Flink
> Issue Type: Sub-task
> 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)