From 1e2d2c437d5ec73452b276cdaff5a789ea3979ac Mon Sep 17 00:00:00 2001 From: YueZhang <69956021+zhangyue19921010@users.noreply.github.com> Date: Mon, 3 Jan 2022 11:43:30 +0800 Subject: [PATCH] [HUDI-3138] Fix broken UT test for TestHiveSyncTool.testDropPartitions (#4493) Co-authored-by: yuezhang --- .../test/java/org/apache/hudi/hive/TestHiveSyncTool.java | 8 +++++--- .../java/org/apache/hudi/hive/testutils/HiveTestUtil.java | 3 ++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/hudi-sync/hudi-hive-sync/src/test/java/org/apache/hudi/hive/TestHiveSyncTool.java b/hudi-sync/hudi-hive-sync/src/test/java/org/apache/hudi/hive/TestHiveSyncTool.java index eaca52170..c515c9dda 100644 --- a/hudi-sync/hudi-hive-sync/src/test/java/org/apache/hudi/hive/TestHiveSyncTool.java +++ b/hudi-sync/hudi-hive-sync/src/test/java/org/apache/hudi/hive/TestHiveSyncTool.java @@ -812,12 +812,14 @@ public class TestHiveSyncTool { assertEquals(hiveClient.getTableSchema(HiveTestUtil.hiveSyncConfig.tableName).size(), hiveClient.getDataSchema().getColumns().size() + 1, "Hive Schema should match the table schema + partition field"); - assertEquals(1, hiveClient.scanTablePartitions(hiveSyncConfig.tableName).size(), + List partitions = hiveClient.scanTablePartitions(hiveSyncConfig.tableName); + assertEquals(1, partitions.size(), "Table partitions should match the number of partitions we wrote"); assertEquals(instantTime, hiveClient.getLastCommitTimeSynced(hiveSyncConfig.tableName).get(), "The last commit that was synced should be updated in the TBLPROPERTIES"); - // create a replace commit to delete current partitions - HiveTestUtil.createReplaceCommit("101", "2021/12/28", WriteOperationType.DELETE_PARTITION); + String partitiontoDelete = partitions.get(0).getValues().get(0).replace("-","/"); + // create a replace commit to delete current partitions+ + HiveTestUtil.createReplaceCommit("101", partitiontoDelete, WriteOperationType.DELETE_PARTITION, true, true); // sync drop partitins tool = new HiveSyncTool(hiveSyncConfig, HiveTestUtil.getHiveConf(), fileSystem); diff --git a/hudi-sync/hudi-hive-sync/src/test/java/org/apache/hudi/hive/testutils/HiveTestUtil.java b/hudi-sync/hudi-hive-sync/src/test/java/org/apache/hudi/hive/testutils/HiveTestUtil.java index b54005b48..34158d4e7 100644 --- a/hudi-sync/hudi-hive-sync/src/test/java/org/apache/hudi/hive/testutils/HiveTestUtil.java +++ b/hudi-sync/hudi-hive-sync/src/test/java/org/apache/hudi/hive/testutils/HiveTestUtil.java @@ -178,9 +178,10 @@ public class HiveTestUtil { createCommitFile(commitMetadata, instantTime); } - public static void createReplaceCommit(String instantTime, String partitions, WriteOperationType type) + public static void createReplaceCommit(String instantTime, String partitions, WriteOperationType type, boolean isParquetSchemaSimple, boolean useSchemaFromCommitMetadata) throws IOException { HoodieReplaceCommitMetadata replaceCommitMetadata = new HoodieReplaceCommitMetadata(); + addSchemaToCommitMetadata(replaceCommitMetadata, isParquetSchemaSimple, useSchemaFromCommitMetadata); replaceCommitMetadata.setOperationType(type); Map> partitionToReplaceFileIds = new HashMap<>(); partitionToReplaceFileIds.put(partitions, new ArrayList<>());