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

Danny Chen closed HUDI-6114.
----------------------------
    Resolution: Fixed

Fixed via master branch: a8c7d48325a74663dd4a4de8d1d8c0407eb7c258

> Rollback handling in AbstractHoodieLogRecordReader may not work correctly 
> when multi-writer is enabled
> ------------------------------------------------------------------------------------------------------
>
>                 Key: HUDI-6114
>                 URL: https://issues.apache.org/jira/browse/HUDI-6114
>             Project: Apache Hudi
>          Issue Type: Bug
>            Reporter: Prashant Wason
>            Assignee: Prashant Wason
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 0.13.1, 0.14.0
>
>
> When a ROLLBACK command block is encountered, only the last log block is 
> potentially rolled back. This may not work in case of multi-writers where the 
> rollback may be aplicable to an older block.
> E.g. Assume two processed P1 and P2 which are writing data to the MOR table. 
> P1 started at time t1 and P2 started at t2. Lets assume P1 writes the log 
> block and then p2 writes the log block.
>  
> So the log file has two blocks now [LBlock1(instantTime=t1), 
> LBlock2(instantTime=t2)]
> If the P1 failed after writing to log file but before the commit could be 
> created, the inflight commit at t1 would eventually be rolled back. In that 
> case a rollback block will be written. The log file would look like this:
> [LBlock1(instantTime=t1), LBlock2(instantTime=t2), LBlock(Rollback block with 
> targetInstantTime=t1)]
>  
> The current AbstractHoodieLogRecordReader code will not rollback LBlock1 as 
> it only applies rollback to the last block.



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

Reply via email to