SourabhBadhya commented on code in PR #3801: URL: https://github.com/apache/hive/pull/3801#discussion_r1064287906
########## itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/txn/compactor/TestCrudCompactorOnTez.java: ########## @@ -2951,4 +2952,170 @@ public void testStatsAfterCompactionPartTbl(boolean isQueryBased, boolean isAuto Assert.assertEquals("The number of rows is differing from the expected", "2", parameters.get("numRows")); executeStatementOnDriver("drop table if exists " + tblName, driver); } + + @Test + public void testMajorCompactionWithMergeNotPartitionedWithoutBuckets() throws Exception { + testCompactionWithMerge(CompactionType.MAJOR, false, false, null, Collections.singletonList("bucket_00000"), + Arrays.asList("delta_0000001_0000001_0000", "delta_0000002_0000002_0000", "delta_0000003_0000003_0000"), + Collections.singletonList("base_0000003_v0000007"), true, true); + } + + @Test + public void testMajorCompactionWithMergePartitionedWithoutBuckets() throws Exception { + testCompactionWithMerge(CompactionType.MAJOR, true, false, "ds=today", Collections.singletonList("bucket_00000"), + Arrays.asList("delta_0000001_0000001_0000", "delta_0000002_0000002_0000", "delta_0000003_0000003_0000"), + Collections.singletonList("base_0000003_v0000007"), true, true); + } + + @Test + public void testMajorCompactionWithMergeNotPartitionedWithBuckets() throws Exception { + testCompactionWithMerge(CompactionType.MAJOR, false, true, null, Arrays.asList("bucket_00000", "bucket_00001"), + Arrays.asList("delta_0000001_0000001_0000", "delta_0000002_0000002_0000", "delta_0000003_0000003_0000"), + Collections.singletonList("base_0000003_v0000007"), true, true); + } + + @Test + public void testMajorCompactionWithMergerPartitionedWithBuckets() throws Exception { + testCompactionWithMerge(CompactionType.MAJOR, true, true, "ds=today", Arrays.asList("bucket_00000", "bucket_00001"), + Arrays.asList("delta_0000001_0000001_0000", "delta_0000002_0000002_0000", "delta_0000003_0000003_0000"), + Collections.singletonList("base_0000003_v0000007"), true, true); + } + + @Test + public void testMinorCompactionWithMergeNotPartitionedWithoutBuckets() throws Exception { + testCompactionWithMerge(CompactionType.MINOR, false, false, null, + Collections.singletonList("bucket_00000"), + Arrays.asList("delta_0000001_0000001_0000", "delta_0000002_0000002_0000", "delta_0000003_0000003_0000"), + Collections.singletonList("delta_0000001_0000003_v0000007"), true, true); + } + + @Test + public void testMinorCompactionWithMergePartitionedWithoutBuckets() throws Exception { + testCompactionWithMerge(CompactionType.MINOR, true, false, "ds=today", + Collections.singletonList("bucket_00000"), + Arrays.asList("delta_0000001_0000001_0000", "delta_0000002_0000002_0000", "delta_0000003_0000003_0000"), + Collections.singletonList("delta_0000001_0000003_v0000007"), true, true); + } + + @Test + public void testMinorCompactionWithMergeNotPartitionedWithBuckets() throws Exception { + testCompactionWithMerge(CompactionType.MINOR, false, true, null, + Arrays.asList("bucket_00000", "bucket_00001"), + Arrays.asList("delta_0000001_0000001_0000", "delta_0000002_0000002_0000", "delta_0000003_0000003_0000"), + Collections.singletonList("delta_0000001_0000003_v0000007"), true, true); + } + + @Test + public void testMinorCompactionWithMergePartitionedWithBuckets() throws Exception { + testCompactionWithMerge(CompactionType.MINOR, true, true, "ds=today", + Arrays.asList("bucket_00000", "bucket_00001"), + Arrays.asList("delta_0000001_0000001_0000", "delta_0000002_0000002_0000", "delta_0000003_0000003_0000"), + Collections.singletonList("delta_0000001_0000003_v0000007"), true, true); + } + + @Test + public void testMajorCompactionAfterMinorWithMerge() throws Exception { + testCompactionWithMerge(CompactionType.MINOR, true, true, "ds=today", + Arrays.asList("bucket_00000", "bucket_00001"), + Arrays.asList("delta_0000001_0000001_0000", "delta_0000002_0000002_0000", "delta_0000003_0000003_0000"), + Collections.singletonList("delta_0000001_0000003_v0000007"),true, false); + testCompactionWithMerge(CompactionType.MAJOR, true, true, "ds=today", + Arrays.asList("bucket_00000", "bucket_00001"), + Arrays.asList("delta_0000001_0000003_v0000007", "delta_0000004_0000004_0000", "delta_0000005_0000005_0000", + "delta_0000006_0000006_0000"), Collections.singletonList("base_0000006_v0000014"), false, true); + } + + @Test + public void testMinorCompactionAfterMajorWithMerge() throws Exception { + testCompactionWithMerge(CompactionType.MAJOR, false, false, null, + Collections.singletonList("bucket_00000"), + Arrays.asList("delta_0000001_0000001_0000", "delta_0000002_0000002_0000", "delta_0000003_0000003_0000"), + Collections.singletonList("base_0000003_v0000007"), true, false); + testCompactionWithMerge(CompactionType.MINOR, false, false, null, + Collections.singletonList("bucket_00000"), + Arrays.asList("delta_0000004_0000004_0000", "delta_0000005_0000005_0000", "delta_0000006_0000006_0000"), + Collections.singletonList("delta_0000001_0000006_v0000014"), false, true); + } + + @Test + public void testMultipleMajorCompactionWithMerge() throws Exception { + testCompactionWithMerge(CompactionType.MAJOR, true, true, "ds=today", + Arrays.asList("bucket_00000", "bucket_00001"), + Arrays.asList("delta_0000001_0000001_0000", "delta_0000002_0000002_0000", "delta_0000003_0000003_0000"), + Collections.singletonList("base_0000003_v0000007"), true, false); + testCompactionWithMerge(CompactionType.MAJOR, true, true, "ds=today", + Arrays.asList("bucket_00000", "bucket_00001"), + Arrays.asList("delta_0000004_0000004_0000", "delta_0000005_0000005_0000", "delta_0000006_0000006_0000"), + Collections.singletonList("base_0000006_v0000014"), false, true); + } + + @Test + public void testMultipleMinorCompactionWithMerge() throws Exception { + testCompactionWithMerge(CompactionType.MINOR, false, false, null, + Collections.singletonList("bucket_00000"), + Arrays.asList("delta_0000001_0000001_0000", "delta_0000002_0000002_0000", "delta_0000003_0000003_0000"), + Collections.singletonList("delta_0000001_0000003_v0000007"), true, false); + testCompactionWithMerge(CompactionType.MINOR, false, false, null, + Collections.singletonList("bucket_00000"), + Arrays.asList("delta_0000001_0000003_v0000007", "delta_0000004_0000004_0000", "delta_0000005_0000005_0000", + "delta_0000006_0000006_0000"), + Collections.singletonList("delta_0000001_0000006_v0000014"), false, true); + } + + private void testCompactionWithMerge(CompactionType compactionType, boolean isPartitioned, boolean isBucketed, + String partitionName, List<String> bucketName, List<String> deltaDirNames, List<String> compactDirNames, + boolean createTable, boolean dropTable) throws Exception { + conf.setBoolVar(HiveConf.ConfVars.HIVE_MERGE_COMPACTION_ENABLED, true); + String dbName = "default"; + String tableName = "testCompaction"; + // Create test table + TestDataProvider dataProvider = new TestDataProvider(); + if (createTable) { + dataProvider.createFullAcidTable(tableName, isPartitioned, isBucketed); + } + // Find the location of the table + IMetaStoreClient metaStoreClient = new HiveMetaStoreClient(conf); + Table table = metaStoreClient.getTable(dbName, tableName); + FileSystem fs = FileSystem.get(conf); + // Insert test data into test table + dataProvider.insertMmTestData(tableName, isPartitioned); Review Comment: Changed it to insertTestData. Done. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For additional commands, e-mail: gitbox-h...@hive.apache.org