commit | 8231288f6be6b357e4ba16a08859067cc5491246 | [log] [tgz] |
---|---|---|
author | Yingyi Bu <yingyi@couchbase.com> | Thu Mar 23 17:35:21 2017 -0700 |
committer | Yingyi Bu <buyingyi@gmail.com> | Thu Mar 23 20:56:04 2017 -0700 |
tree | 9a462efa69dca9b6390b462c7f14c9c3c6cb77d4 | |
parent | cb2b443ea74e0bf67eb144ad5cdaebf8a1b2add2 [diff] |
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 <mblow@apache.org> Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu> Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu> BAD: Jenkins <jenkins@fulliautomatix.ics.uci.edu> Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
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.