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.