[HUDI-3252] Avoid creating empty requestedReplaceCommit in the startCommit method (#4515)
This commit is contained in:
@@ -828,8 +828,13 @@ public abstract class AbstractHoodieWriteClient<T extends HoodieRecordPayload, I
|
||||
if (config.getFailedWritesCleanPolicy().isLazy()) {
|
||||
this.heartbeatClient.start(instantTime);
|
||||
}
|
||||
metaClient.getActiveTimeline().createNewInstant(new HoodieInstant(HoodieInstant.State.REQUESTED, actionType,
|
||||
instantTime));
|
||||
|
||||
if (actionType.equals(HoodieTimeline.REPLACE_COMMIT_ACTION)) {
|
||||
metaClient.getActiveTimeline().createRequestedReplaceCommit(instantTime, actionType);
|
||||
} else {
|
||||
metaClient.getActiveTimeline().createNewInstant(new HoodieInstant(HoodieInstant.State.REQUESTED, actionType,
|
||||
instantTime));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -134,7 +134,7 @@ public class MetadataConversionUtils {
|
||||
return Option.of(HoodieCommitMetadata.fromBytes(inflightContent.get(), HoodieCommitMetadata.class));
|
||||
}
|
||||
|
||||
public static Option<HoodieRequestedReplaceMetadata> getRequestedReplaceMetadata(HoodieTableMetaClient metaClient, HoodieInstant instant) throws IOException {
|
||||
private static Option<HoodieRequestedReplaceMetadata> getRequestedReplaceMetadata(HoodieTableMetaClient metaClient, HoodieInstant instant) throws IOException {
|
||||
Option<byte[]> requestedContent = metaClient.getActiveTimeline().getInstantDetails(instant);
|
||||
if (!requestedContent.isPresent() || requestedContent.get().length == 0) {
|
||||
// requested commit files can be empty in some certain cases, e.g. insert_overwrite or insert_overwrite_table.
|
||||
|
||||
Reference in New Issue
Block a user