Murtadha Hubail has uploaded a new change for review. https://asterix-gerrit.ics.uci.edu/878
Change subject: Fix log file EOF during recovery ...................................................................... Fix log file EOF during recovery Change-Id: If9adbdaea726dd21d15fc1287362375daf30bf16 --- M asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogManager.java M asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogReader.java 2 files changed, 7 insertions(+), 10 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/78/878/1 diff --git a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogManager.java b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogManager.java index be0435a..d5ad038 100644 --- a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogManager.java +++ b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogManager.java @@ -205,16 +205,13 @@ protected void prepareNextLogFile() { //wait until all log records have been flushed in the current file synchronized (flushLSN) { - while (flushLSN.get() != appendLSN.get()) { - //notification will come from LogBuffer.internalFlush(.) - try { + try { + while (flushLSN.get() != appendLSN.get()) { + //notification will come from LogBuffer.internalFlush(.) flushLSN.wait(); - } catch (InterruptedException e) { - if (LOGGER.isLoggable(Level.SEVERE)) { - LOGGER.severe("Preparing new log file was interrupted"); - } - Thread.currentThread().interrupt(); } + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); } } //move appendLSN and flushLSN to the first LSN of the next log file diff --git a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogReader.java b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogReader.java index 1592aba..148aa7e 100644 --- a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogReader.java +++ b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogReader.java @@ -142,7 +142,7 @@ private ReturnState waitForFlushOrReturnIfEOF() { synchronized (flushLSN) { - while (readLSN > flushLSN.get()) { + while (readLSN >= flushLSN.get()) { if (isRecoveryMode) { return ReturnState.EOF; } @@ -223,7 +223,7 @@ readLSN = LSN; //wait for the log to be flushed if needed before trying to read it. synchronized (flushLSN) { - while (readLSN > flushLSN.get()) { + while (readLSN >= flushLSN.get()) { try { flushLSN.wait(); } catch (InterruptedException e) { -- To view, visit https://asterix-gerrit.ics.uci.edu/878 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newchange Gerrit-Change-Id: If9adbdaea726dd21d15fc1287362375daf30bf16 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha Hubail <hubail...@gmail.com>