You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hudi.apache.org by vi...@apache.org on 2020/10/30 05:33:42 UTC

[hudi] 12/14: [RFC-15] Reverting change to AbstractHoodieLogRecordScanner as they lead to hung tests.

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

vinoth pushed a commit to branch rfc-15
in repository https://gitbox.apache.org/repos/asf/hudi.git

commit 34872bbfccf36814aaa03ca3aadee3b8d7f8893b
Author: Prashant Wason <pw...@uber.com>
AuthorDate: Wed Oct 28 01:44:38 2020 -0700

    [RFC-15] Reverting change to AbstractHoodieLogRecordScanner as they lead to hung tests.
---
 .../common/table/log/AbstractHoodieLogRecordScanner.java   | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordScanner.java b/hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordScanner.java
index ab60752..7c51524 100644
--- a/hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordScanner.java
+++ b/hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordScanner.java
@@ -208,13 +208,15 @@ public abstract class AbstractHoodieLogRecordScanner {
                     LOG.info("Rolling back the last log block read in " + logFile.getPath());
                     currentInstantLogBlocks.pop();
                     numBlocksRolledBack++;
+                  } else if (!targetInstantForCommandBlock
+                      .contentEquals(currentInstantLogBlocks.peek().getLogBlockHeader().get(INSTANT_TIME))) {
+                    // invalid or extra rollback block
+                    LOG.warn("TargetInstantTime " + targetInstantForCommandBlock
+                        + " invalid or extra rollback command block in " + logFile.getPath());
+                    break;
                   } else {
-                    if (numBlocksRolledBack == 0) {
-                      // no blocks rolled back. this was an invalid or extra rollback block
-                      LOG.warn("TargetInstantTime " + targetInstantForCommandBlock
-                          + " invalid or extra rollback command block in " + logFile.getPath());
-                      break;
-                    }
+                    // this should not happen ideally
+                    LOG.warn("Unable to apply rollback command block in " + logFile.getPath());
                   }
                 }