diff --git a/hudi-cli/src/test/java/org/apache/hudi/cli/commands/TestRollbacksCommand.java b/hudi-cli/src/test/java/org/apache/hudi/cli/commands/TestRollbacksCommand.java index 9a10893b3..0aec7c5ce 100644 --- a/hudi-cli/src/test/java/org/apache/hudi/cli/commands/TestRollbacksCommand.java +++ b/hudi-cli/src/test/java/org/apache/hudi/cli/commands/TestRollbacksCommand.java @@ -32,11 +32,12 @@ import org.apache.hudi.common.table.timeline.HoodieActiveTimeline; import org.apache.hudi.common.table.timeline.HoodieInstant; import org.apache.hudi.common.table.timeline.TimelineMetadataUtils; import org.apache.hudi.common.table.timeline.versioning.TimelineLayoutVersion; -import org.apache.hudi.common.testutils.HoodieTestTable; +import org.apache.hudi.common.testutils.HoodieMetadataTestTable; import org.apache.hudi.common.util.collection.Pair; import org.apache.hudi.config.HoodieIndexConfig; import org.apache.hudi.config.HoodieWriteConfig; import org.apache.hudi.index.HoodieIndex; +import org.apache.hudi.metadata.SparkHoodieBackedTableMetadataWriter; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Tag; @@ -80,7 +81,12 @@ public class TestRollbacksCommand extends CLIFunctionalTestHarness { put(DEFAULT_THIRD_PARTITION_PATH, "file-3"); } }; - HoodieTestTable.of(metaClient) + + HoodieWriteConfig config = HoodieWriteConfig.newBuilder().withPath(tablePath) + .withRollbackUsingMarkers(false) + .withIndexConfig(HoodieIndexConfig.newBuilder().withIndexType(HoodieIndex.IndexType.INMEMORY).build()).build(); + HoodieMetadataTestTable.of(metaClient, SparkHoodieBackedTableMetadataWriter.create( + metaClient.getHadoopConf(), config, context)) .withPartitionMetaFiles(DEFAULT_PARTITION_PATHS) .addCommit("100") .withBaseFilesInPartitions(partitionAndFileId) @@ -88,11 +94,8 @@ public class TestRollbacksCommand extends CLIFunctionalTestHarness { .withBaseFilesInPartitions(partitionAndFileId) .addInflightCommit("102") .withBaseFilesInPartitions(partitionAndFileId); - // generate two rollback - HoodieWriteConfig config = HoodieWriteConfig.newBuilder().withPath(tablePath) - .withRollbackUsingMarkers(false) - .withIndexConfig(HoodieIndexConfig.newBuilder().withIndexType(HoodieIndex.IndexType.INMEMORY).build()).build(); + // generate two rollback try (BaseHoodieWriteClient client = new SparkRDDWriteClient(context(), config)) { // Rollback inflight commit3 and commit2 client.rollback("102"); diff --git a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/BaseRollbackActionExecutor.java b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/BaseRollbackActionExecutor.java index 9d5895de8..d44ba5590 100644 --- a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/BaseRollbackActionExecutor.java +++ b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/BaseRollbackActionExecutor.java @@ -61,13 +61,15 @@ public abstract class BaseRollbackActionExecutor table, - String instantTime, - HoodieInstant instantToRollback, - boolean deleteInstants, - boolean skipLocking) { + HoodieWriteConfig config, + HoodieTable table, + String instantTime, + HoodieInstant instantToRollback, + boolean deleteInstants, + boolean skipLocking) { this(context, config, table, instantTime, instantToRollback, deleteInstants, false, config.shouldRollbackUsingMarkers(), skipLocking); } @@ -83,6 +85,7 @@ public abstract class BaseRollbackActionExecutor stats = new ArrayList<>(); HoodieActiveTimeline activeTimeline = table.getActiveTimeline(); - HoodieInstant resolvedInstant = instantToRollback; if (instantToRollback.isCompleted()) { LOG.info("Unpublishing instant " + instantToRollback); @@ -86,8 +85,6 @@ public class CopyOnWriteRollbackActionExecutor