[ 
https://issues.apache.org/jira/browse/HUDI-7259?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17935597#comment-17935597
 ] 

Y Ethan Guo commented on HUDI-7259:
-----------------------------------

I don't think the current implementation of `FileSystemBasedLock` guarantees 
only one writer gets the lock because atomic creation is not enough.  The 
conditional writes need to be supported by the file system and used in the lock 
provider.  See new RFC-91 for the new design: 
https://github.com/apache/hudi/pull/12927

> Multiple tasks get the lock at the same time when use occ
> ---------------------------------------------------------
>
>                 Key: HUDI-7259
>                 URL: https://issues.apache.org/jira/browse/HUDI-7259
>             Project: Apache Hudi
>          Issue Type: Bug
>          Components: multi-writer
>            Reporter: Knight Chess
>            Priority: Major
>
> config:
>  * occ open
>  * use FileSystemBasedLock
>  * mdt is open in write defualt
> there has three job, jobA, jobB, jobC, these three jobs are running at the 
> same time.
> jobA get lock success, jobB has been trying to get lock, jobC also try to get 
> lock.
> jobB failed because can not get lock, but it delete lock file when close 
> write client, now, jobC will get lock, it cause concurrent problem.
> In our case, jobC will rollback jobA mdt commit which has been succeed 
> commited. So, the data table timeline has the repleaseCommit instance, but 
> mdt without this update, it cause partition path be deleted and can not 
> reserve the latest file split in our case
>  



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

Reply via email to