You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hudi.apache.org by "sivabalan narayanan (Jira)" <ji...@apache.org> on 2021/09/20 20:42:00 UTC

[jira] [Assigned] (HUDI-2468) Fix rollback of first commit after being synced to metadata table

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

sivabalan narayanan reassigned HUDI-2468:
-----------------------------------------

    Assignee: sivabalan narayanan

> Fix rollback of first commit after being synced to metadata table
> -----------------------------------------------------------------
>
>                 Key: HUDI-2468
>                 URL: https://issues.apache.org/jira/browse/HUDI-2468
>             Project: Apache Hudi
>          Issue Type: Improvement
>            Reporter: sivabalan narayanan
>            Assignee: sivabalan narayanan
>            Priority: Major
>
> lets say there is only one commit which got applied to metadata table as well.
> now user for some reason, wants to rollback this commit in data table. 
> So, when this reaches metadata code path, first we go through bootstrap code path. here we check last synced instant from metadata table and try to compare w/ data timeline. since the corresponding commit in datatimeline is inflight, code deduces that last synced instant is out of active timeline and need to be rebootstrapped. 
> but then, we have a condition that boostrapping can be done only if there are no inflight in data timeline. But the same very commit is actually inflight in datatime and we fail here. 
> possible fix:
> We can pass information on current instant being operated on while instantiating metadata table writer and ignore that from inflght while checking for bootstrap pre-requisite. But wondering is there is a better approach. 
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)