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/10/14 21:42:00 UTC
[jira] [Created] (HUDI-2559) Ensure unique timestamps are generated
for commit times with concurrent writers
sivabalan narayanan created HUDI-2559:
-----------------------------------------
Summary: Ensure unique timestamps are generated for commit times with concurrent writers
Key: HUDI-2559
URL: https://issues.apache.org/jira/browse/HUDI-2559
Project: Apache Hudi
Issue Type: Improvement
Reporter: sivabalan narayanan
Ensure unique timestamps are generated for commit times with concurrent writers.
this is the piece of code in HoodieActiveTimeline which creates a new commit time.
{code:java}
public static String createNewInstantTime(long milliseconds) {
return lastInstantTime.updateAndGet((oldVal) -> {
String newCommitTime;
do {
newCommitTime = HoodieActiveTimeline.COMMIT_FORMATTER.format(new Date(System.currentTimeMillis() + milliseconds));
} while (HoodieTimeline.compareTimestamps(newCommitTime, LESSER_THAN_OR_EQUALS, oldVal));
return newCommitTime;
});
}
{code}
There are chances that a deltastreamer and a concurrent spark ds writer gets same timestamp and one of them fails.
Related issues and github jiras:
[https://github.com/apache/hudi/issues/3782]
https://issues.apache.org/jira/browse/HUDI-2549
--
This message was sent by Atlassian Jira
(v8.3.4#803005)