This is an automated email from the ASF dual-hosted git repository.

vbalaji pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-hudi.git


The following commit(s) were added to refs/heads/master by this push:
     new 0b032b2  Fix requested eompaction rollback during restore command
0b032b2 is described below

commit 0b032b2761fcc23a3bcedaf654431635ec7e7f03
Author: Nishith Agarwal <nagar...@uber.com>
AuthorDate: Mon Sep 2 10:20:41 2019 -0700

    Fix requested eompaction rollback during restore command
---
 .../src/main/java/org/apache/hudi/HoodieWriteClient.java | 16 ++++++----------
 .../java/org/apache/hudi/table/TestMergeOnReadTable.java |  7 ++++++-
 2 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/hudi-client/src/main/java/org/apache/hudi/HoodieWriteClient.java 
b/hudi-client/src/main/java/org/apache/hudi/HoodieWriteClient.java
index d81ecaf..e6b3152 100644
--- a/hudi-client/src/main/java/org/apache/hudi/HoodieWriteClient.java
+++ b/hudi-client/src/main/java/org/apache/hudi/HoodieWriteClient.java
@@ -808,16 +808,12 @@ public class HoodieWriteClient<T extends 
HoodieRecordPayload> extends AbstractHo
             instantsToStats.put(instant.getTimestamp(), statsForInstant);
             break;
           case HoodieTimeline.COMPACTION_ACTION:
-            if (instant.isRequested()) {
-              // TODO : Get file status and create a rollback stat and file
-              // TODO : Delete the .aux files along with the instant file, 
okay for now since the archival process will
-              // delete these files when it does not see a corresponding 
instant file under .hoodie
-              deleteRequestedCompaction(instant.getTimestamp());
-              logger.info("Deleted pending scheduled compaction " + 
instant.getTimestamp());
-            } else {
-              List<HoodieRollbackStat> statsForCompaction = 
doRollbackAndGetStats(instant.getTimestamp());
-              instantsToStats.put(instant.getTimestamp(), statsForCompaction);
-            }
+            // TODO : Get file status and create a rollback stat and file
+            // TODO : Delete the .aux files along with the instant file, okay 
for now since the archival process will
+            // delete these files when it does not see a corresponding instant 
file under .hoodie
+            List<HoodieRollbackStat> statsForCompaction = 
doRollbackAndGetStats(instant.getTimestamp());
+            instantsToStats.put(instant.getTimestamp(), statsForCompaction);
+            logger.info("Deleted compaction instant " + instant);
             break;
           default:
             throw new IllegalArgumentException("invalid action name " + 
instant.getAction());
diff --git 
a/hudi-client/src/test/java/org/apache/hudi/table/TestMergeOnReadTable.java 
b/hudi-client/src/test/java/org/apache/hudi/table/TestMergeOnReadTable.java
index 2b80125..a4789e9 100644
--- a/hudi-client/src/test/java/org/apache/hudi/table/TestMergeOnReadTable.java
+++ b/hudi-client/src/test/java/org/apache/hudi/table/TestMergeOnReadTable.java
@@ -680,6 +680,11 @@ public class TestMergeOnReadTable extends 
HoodieClientTestHarness {
       List<HoodieFileGroup> fileGroups = ((HoodieTableFileSystemView) 
rtView).getAllFileGroups().collect(Collectors
           .toList());
       assertTrue(fileGroups.isEmpty());
+
+      // make sure there are no log files remaining
+      assertTrue(((HoodieTableFileSystemView) 
rtView).getAllFileGroups().filter(fileGroup -> fileGroup
+          .getAllRawFileSlices().filter(f -> f.getLogFiles().count() == 
0).count() == 0).count() == 0L);
+
     }
   }
 
@@ -1259,4 +1264,4 @@ public class TestMergeOnReadTable extends 
HoodieClientTestHarness {
       assertFalse("Errors found in write of " + status.getFileId(), 
status.hasErrors());
     }
   }
-}
+}
\ No newline at end of file

Reply via email to