[HUDI-1740] Fix insert-overwrite API archival (#2784)
- fix problem of archiving replace commits - Fix problem when getting empty replacecommit.requested - Improved the logic of handling empty and non-empty requested/inflight commit files. Added unit tests to cover both empty and non-empty inflight files cases and cleaned up some unused test util methods Co-authored-by: yorkzero831 <yorkzero8312@gmail.com> Co-authored-by: zheren.yu <zheren.yu@paypay-corp.co.jp>
This commit is contained in:
@@ -24,7 +24,7 @@ import org.apache.hudi.cli.HoodieTableHeaderFields;
|
||||
import org.apache.hudi.cli.TableHeader;
|
||||
import org.apache.hudi.cli.testutils.AbstractShellIntegrationTest;
|
||||
import org.apache.hudi.cli.testutils.HoodieTestCommitMetadataGenerator;
|
||||
import org.apache.hudi.cli.testutils.HoodieTestReplaceCommitMetadatGenerator;
|
||||
import org.apache.hudi.cli.testutils.HoodieTestReplaceCommitMetadataGenerator;
|
||||
import org.apache.hudi.common.fs.FSUtils;
|
||||
import org.apache.hudi.common.model.HoodieTableType;
|
||||
import org.apache.hudi.common.table.HoodieTableMetaClient;
|
||||
@@ -122,7 +122,7 @@ public class TestCommitsCommand extends AbstractShellIntegrationTest {
|
||||
for (Map.Entry<HoodieInstant, Integer[]> entry : replaceCommitData.entrySet()) {
|
||||
String key = entry.getKey().getTimestamp();
|
||||
Integer[] value = entry.getValue();
|
||||
HoodieTestReplaceCommitMetadatGenerator.createReplaceCommitFileWithMetadata(tablePath, key,
|
||||
HoodieTestReplaceCommitMetadataGenerator.createReplaceCommitFileWithMetadata(tablePath, key,
|
||||
Option.of(value[0]), Option.of(value[1]), metaClient);
|
||||
}
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ import java.util.UUID;
|
||||
import static org.apache.hudi.common.testutils.FileCreateUtils.baseFileName;
|
||||
import static org.apache.hudi.common.util.CollectionUtils.createImmutableList;
|
||||
|
||||
public class HoodieTestReplaceCommitMetadatGenerator extends HoodieTestCommitMetadataGenerator {
|
||||
public class HoodieTestReplaceCommitMetadataGenerator extends HoodieTestCommitMetadataGenerator {
|
||||
public static void createReplaceCommitFileWithMetadata(String basePath, String commitTime, Option<Integer> writes, Option<Integer> updates,
|
||||
HoodieTableMetaClient metaclient) throws Exception {
|
||||
|
||||
@@ -43,7 +43,7 @@ public class HoodieTestReplaceCommitMetadatGenerator extends HoodieTestCommitMet
|
||||
UUID.randomUUID().toString(), writes, updates);
|
||||
HoodieRequestedReplaceMetadata requestedReplaceMetadata = getHoodieRequestedReplaceMetadata();
|
||||
|
||||
HoodieTestTable.of(metaclient).addReplaceCommit(commitTime, requestedReplaceMetadata, replaceMetadata);
|
||||
HoodieTestTable.of(metaclient).addReplaceCommit(commitTime, Option.ofNullable(requestedReplaceMetadata), Option.empty(), replaceMetadata);
|
||||
}
|
||||
|
||||
private static HoodieRequestedReplaceMetadata getHoodieRequestedReplaceMetadata() {
|
||||
Reference in New Issue
Block a user