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

Danny Chen commented on HUDI-1623:
----------------------------------

Some thoughts about TrueTime

we do not want a vender binded solution so a specific SDK like AWS clock-bound 
may not be desired.
We also have no Spanner specific TrueTime API service, even for Cockroach DB, 
they relies on clock synchronization of their cluster hosts to
maintain a maximum time offset of all the nodes. On Cloud, we have no that 
synchronization either. I’m wondering whether the precondition header could be 
a solution for lockless atomicity, but I didn’t find out any similiar API on 
AWS like Google Cloud does.

So, let's get a summary about the *Time Generator* impl:

1. By default, we use an explicit lock like we mentioned in the description;

2. This lock is file based, there is no need for any munual configuratons from 
the user side;
3. we may also add a TrueTime API based impl in the near future;

> Support start_commit_time & end_commit_times for serializable incremental pull
> ------------------------------------------------------------------------------
>
>                 Key: HUDI-1623
>                 URL: https://issues.apache.org/jira/browse/HUDI-1623
>             Project: Apache Hudi
>          Issue Type: Improvement
>          Components: Common Core
>            Reporter: Nishith Agarwal
>            Assignee: Danny Chen
>            Priority: Critical
>             Fix For: 1.0.0
>
>
> We suggest a new file naming for the *completed* metadata file:
> ${start_time}.${action}.${completion_time}
>  
> We also need a global *Time Generator* that can ensure the monotonical 
> increasing generation of the timestamp, for example, maybe hold a mutex lock 
> with the last generated timestamp backing up there. Say it may holds a lock 
> {*}L1{*}. For each instant time generation, it needs guard from the lock.
>  
> Before creating the completed file, we also need a lock guard from L1.
>  
> Things need to note:
> 1. we only add completion timestamp to the completed metadata file;
> 2. we only add lock guard to the completed metadata file creation, not the 
> whole commiting procedure;
> 3. for regular instant time generation, we also need a lock (that we should 
> ship out by default)



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

Reply via email to