1
0

[HUDI-3072] Fixing conflict resolution in transaction management code path for auto commit code path (#4588)

* Fixing conflict resolution in transaction management code path for auto commit code path

* Addressing comments

* Fixing test failures
This commit is contained in:
Sivabalan Narayanan
2022-01-24 05:43:28 -05:00
committed by GitHub
parent cfde45b548
commit e00a9042e9
8 changed files with 205 additions and 24 deletions

View File

@@ -196,6 +196,11 @@ public abstract class BaseJavaCommitActionExecutor<T extends HoodieRecordPayload
commit(extraMetadata, result, result.getWriteStatuses().stream().map(WriteStatus::getStat).collect(Collectors.toList()));
}
protected void setCommitMetadata(HoodieWriteMetadata<List<WriteStatus>> result) {
result.setCommitMetadata(Option.of(CommitUtils.buildMetadata(result.getWriteStatuses().stream().map(WriteStatus::getStat).collect(Collectors.toList()),
result.getPartitionToReplaceFileIds(), extraMetadata, operationType, getSchemaToStoreInCommit(), getCommitActionType())));
}
protected void commit(Option<Map<String, String>> extraMetadata, HoodieWriteMetadata<List<WriteStatus>> result, List<HoodieWriteStat> writeStats) {
String actionType = getCommitActionType();
LOG.info("Committing " + instantTime + ", action Type " + actionType);
@@ -206,8 +211,7 @@ public abstract class BaseJavaCommitActionExecutor<T extends HoodieRecordPayload
try {
LOG.info("Committing " + instantTime + ", action Type " + getCommitActionType());
HoodieActiveTimeline activeTimeline = table.getActiveTimeline();
HoodieCommitMetadata metadata = CommitUtils.buildMetadata(writeStats, result.getPartitionToReplaceFileIds(),
extraMetadata, operationType, getSchemaToStoreInCommit(), getCommitActionType());
HoodieCommitMetadata metadata = result.getCommitMetadata().get();
writeTableMetadata(metadata, actionType);