Yingyi Bu has submitted this change and it was merged. Change subject: ASTERIXDB-1857: Fix leaked open (deleted) txn log files. ......................................................................
ASTERIXDB-1857: Fix leaked open (deleted) txn log files. Change-Id: I0d19601e39950c1b5310dcf2ecfcd5f50bc44455 Reviewed-on: https://asterix-gerrit.ics.uci.edu/1614 Reviewed-by: Michael Blow <[email protected]> Sonar-Qube: Jenkins <[email protected]> Tested-by: Jenkins <[email protected]> BAD: Jenkins <[email protected]> Integration-Tests: Jenkins <[email protected]> --- M asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogBuffer.java M asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogManager.java 2 files changed, 3 insertions(+), 3 deletions(-) Approvals: Michael Blow: Looks good to me, approved Jenkins: Verified; No violations found; No violations found; Verified diff --git a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogBuffer.java b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogBuffer.java index 7b5d8ee..033cbe4 100644 --- a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogBuffer.java +++ b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogBuffer.java @@ -38,7 +38,6 @@ import org.apache.asterix.common.transactions.LogSource; import org.apache.asterix.common.transactions.LogType; import org.apache.asterix.common.transactions.MutableLong; -import org.apache.asterix.common.utils.TransactionUtil; import org.apache.asterix.transaction.management.service.transaction.TransactionManagementConstants.LockManagerConstants.LockMode; import org.apache.hyracks.api.exceptions.HyracksDataException; @@ -201,7 +200,7 @@ } if (stop) { fileChannel.close(); - break; + return; } this.wait(); } catch (InterruptedException e) { 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 613808f..d0f49db 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 @@ -215,6 +215,8 @@ } protected void prepareNextLogFile() { + // Mark the page as the last page so that it will close the output file channel. + appendPage.isLastPage(true); // Make sure to flush whatever left in the log tail. appendPage.isFull(true); //wait until all log records have been flushed in the current file @@ -236,7 +238,6 @@ LOGGER.info("Created new txn log file with id(" + getLogFileId(appendLSN.get()) + ") starting with LSN = " + appendLSN.get()); } - appendPage.isLastPage(true); //[Notice] //the current log file channel is closed if //LogBuffer.flush() completely flush the last page of the file. -- To view, visit https://asterix-gerrit.ics.uci.edu/1614 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: merged Gerrit-Change-Id: I0d19601e39950c1b5310dcf2ecfcd5f50bc44455 Gerrit-PatchSet: 3 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Yingyi Bu <[email protected]> Gerrit-Reviewer: Jenkins <[email protected]> Gerrit-Reviewer: Michael Blow <[email protected]> Gerrit-Reviewer: Yingyi Bu <[email protected]> Gerrit-Reviewer: abdullah alamoudi <[email protected]>
