You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2020/11/17 10:41:10 UTC

[iotdb] 02/03: fix filechannal force and interrupting-related exception(#2038)

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

qiaojialin pushed a commit to branch rel/0.11
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit e06cec691c65f650b071ca540e7e7bb3a671feaa
Author: Zesong Sun <sz...@mails.tsinghua.edu.cn>
AuthorDate: Mon Nov 16 20:06:28 2020 +0800

    fix filechannal force and interrupting-related exception(#2038)
    
    (cherry picked from commit 07ab57d8b19112fba0a2b988dd9cf05baa1ed945)
---
 .../java/org/apache/iotdb/db/metadata/MLogWriter.java  |  1 +
 .../org/apache/iotdb/db/utils/EnvironmentUtils.java    | 18 ++++++++----------
 2 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/MLogWriter.java b/server/src/main/java/org/apache/iotdb/db/metadata/MLogWriter.java
index 5f77527..538e6ea 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/MLogWriter.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/MLogWriter.java
@@ -175,6 +175,7 @@ public class MLogWriter {
   }
 
   public void clear() throws IOException {
+    channel.force(true);
     channel.close();
     fileOutputStream.close();
     Files.delete(logFile.toPath());
diff --git a/server/src/test/java/org/apache/iotdb/db/utils/EnvironmentUtils.java b/server/src/test/java/org/apache/iotdb/db/utils/EnvironmentUtils.java
index 76782ab..c1ea53e 100644
--- a/server/src/test/java/org/apache/iotdb/db/utils/EnvironmentUtils.java
+++ b/server/src/test/java/org/apache/iotdb/db/utils/EnvironmentUtils.java
@@ -74,7 +74,8 @@ public class EnvironmentUtils {
 
   private static IoTDB daemon;
 
-  public static boolean examinePorts = Boolean.valueOf(System.getProperty("test.port.closed", "false"));
+  public static boolean examinePorts = Boolean
+      .parseBoolean(System.getProperty("test.port.closed", "false"));
 
   public static void cleanEnv() throws IOException, StorageEngineException {
     logger.warn("EnvironmentUtil cleanEnv...");
@@ -147,6 +148,7 @@ public class EnvironmentUtils {
         transport.close();
         return false;
       } catch (TTransportException e) {
+        //do nothing
       }
     }
     //try sync service
@@ -158,6 +160,7 @@ public class EnvironmentUtils {
         transport.close();
         return false;
       } catch (TTransportException e) {
+        //do nothing
       }
     }
     //try jmx connection
@@ -172,20 +175,14 @@ public class EnvironmentUtils {
       //do nothing
     }
     //try MetricService
-    Socket socket = new Socket();
-    try {
+    try (Socket socket = new Socket()) {
       socket.connect(new InetSocketAddress("127.0.0.1", 8181), 100);
       logger.error("stop MetricService failed. 8181 can be connected now.");
       return false;
     } catch (Exception e) {
       //do nothing
-    } finally {
-      try {
-        socket.close();
-      } catch (IOException e) {
-        //do nothing
-      }
     }
+    //do nothing
     return true;
   }
 
@@ -256,7 +253,7 @@ public class EnvironmentUtils {
   }
 
   public static void shutdownDaemon() throws Exception {
-    if(daemon != null) {
+    if (daemon != null) {
       daemon.shutdown();
     }
   }
@@ -278,6 +275,7 @@ public class EnvironmentUtils {
 
   public static void restartDaemon() throws Exception {
     shutdownDaemon();
+    stopDaemon();
     reactiveDaemon();
   }