You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by yu...@apache.org on 2020/07/27 14:39:11 UTC

[incubator-iotdb] branch kyy updated: exeption in tests

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

yuyuankang pushed a commit to branch kyy
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git


The following commit(s) were added to refs/heads/kyy by this push:
     new b61c22d  exeption in tests
b61c22d is described below

commit b61c22d4dafadad6f90b804e15022169d990668c
Author: Ring-k <yu...@hotmail.com>
AuthorDate: Mon Jul 27 22:38:43 2020 +0800

    exeption in tests
---
 .../iotdb/cluster/log/manage/RaftLogManager.java     |  2 ++
 .../manage/serializable/SyncLogDequeSerializer.java  |  4 ++++
 .../serializable/SyncLogDequeSerializerTest.java     | 20 ++++++++++----------
 3 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/log/manage/RaftLogManager.java b/cluster/src/main/java/org/apache/iotdb/cluster/log/manage/RaftLogManager.java
index 85eee64..2a6bf3f 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/log/manage/RaftLogManager.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/log/manage/RaftLogManager.java
@@ -437,6 +437,8 @@ public class RaftLogManager {
           applyEntries(entries, ignoreExecutionExceptions);
         } catch (TruncateCommittedEntryException e) {
           logger.error("{}: Unexpected error:", name, e);
+        } catch (IOException e){
+          throw new LogExecutionException(e);
         }
       }
     }
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/log/manage/serializable/SyncLogDequeSerializer.java b/cluster/src/main/java/org/apache/iotdb/cluster/log/manage/serializable/SyncLogDequeSerializer.java
index d116a45..4ef9787 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/log/manage/serializable/SyncLogDequeSerializer.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/log/manage/serializable/SyncLogDequeSerializer.java
@@ -639,6 +639,8 @@ public class SyncLogDequeSerializer implements StableEntryManager {
 
   @Override
   public void close() {
+    flushLogBuffer();
+    lock.writeLock().lock();
     try {
       if (currentLogOutputStream != null) {
         currentLogOutputStream.close();
@@ -646,6 +648,8 @@ public class SyncLogDequeSerializer implements StableEntryManager {
       }
     } catch (IOException e) {
       logger.error("Error in log serialization: ", e);
+    } finally {
+      lock.writeLock().unlock();
     }
   }
 
diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/log/manage/serializable/SyncLogDequeSerializerTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/manage/serializable/SyncLogDequeSerializerTest.java
index 6708c23..5a442ec 100644
--- a/cluster/src/test/java/org/apache/iotdb/cluster/log/manage/serializable/SyncLogDequeSerializerTest.java
+++ b/cluster/src/test/java/org/apache/iotdb/cluster/log/manage/serializable/SyncLogDequeSerializerTest.java
@@ -45,7 +45,7 @@ public class SyncLogDequeSerializerTest extends IoTDBTest {
   private int testIdentifier = 1;
 
   @Test
-  public void testReadAndWrite() {
+  public void testReadAndWrite() throws IOException {
     SyncLogDequeSerializer syncLogDequeSerializer = new SyncLogDequeSerializer(testIdentifier);
     try {
       List<Log> testLogs1 = TestUtils.prepareNodeLogs(10);
@@ -61,7 +61,7 @@ public class SyncLogDequeSerializerTest extends IoTDBTest {
   }
 
   @Test
-  public void testRecovery() {
+  public void testRecovery() throws IOException {
     SyncLogDequeSerializer syncLogDequeSerializer = new SyncLogDequeSerializer(testIdentifier);
     int logNum;
     List<Log> testLogs1;
@@ -88,7 +88,7 @@ public class SyncLogDequeSerializerTest extends IoTDBTest {
   }
 
   @Test
-  public void testDeleteLogs() {
+  public void testDeleteLogs() throws IOException {
     SyncLogDequeSerializer syncLogDequeSerializer = new SyncLogDequeSerializer(testIdentifier);
     try {
       syncLogDequeSerializer.setMaxRemovedLogSize(10);
@@ -106,7 +106,7 @@ public class SyncLogDequeSerializerTest extends IoTDBTest {
   }
 
   @Test
-  public void testDeleteLogsByRecovery() {
+  public void testDeleteLogsByRecovery() throws IOException {
     SyncLogDequeSerializer syncLogDequeSerializer = new SyncLogDequeSerializer(testIdentifier);
     List<Log> testLogs1;
     List<Log> testLogs2;
@@ -144,7 +144,7 @@ public class SyncLogDequeSerializerTest extends IoTDBTest {
   }
 
   @Test
-  public void testRemoveOldFile() {
+  public void testRemoveOldFile() throws IOException {
     System.out.println("Start testRemoveOldFile()");
     SyncLogDequeSerializer syncLogDequeSerializer = new SyncLogDequeSerializer(testIdentifier);
     List<Log> testLogs2;
@@ -185,7 +185,7 @@ public class SyncLogDequeSerializerTest extends IoTDBTest {
   }
 
   @Test
-  public void testRemoveOldFileAtRecovery() throws InterruptedException {
+  public void testRemoveOldFileAtRecovery() throws InterruptedException, IOException {
     System.out.println("Start testRemoveOldFileAtRecovery()");
     SyncLogDequeSerializer syncLogDequeSerializer = new SyncLogDequeSerializer(testIdentifier);
     List<Log> testLogs2;
@@ -229,7 +229,7 @@ public class SyncLogDequeSerializerTest extends IoTDBTest {
   }
 
   @Test
-  public void testRecoveryByAppendList() {
+  public void testRecoveryByAppendList() throws IOException {
     SyncLogDequeSerializer syncLogDequeSerializer = new SyncLogDequeSerializer(testIdentifier);
     int logNum;
     List<Log> testLogs1;
@@ -257,7 +257,7 @@ public class SyncLogDequeSerializerTest extends IoTDBTest {
   }
 
   @Test
-  public void testRecoveryWithTempLog() {
+  public void testRecoveryWithTempLog() throws IOException {
     SyncLogDequeSerializer syncLogDequeSerializer = new SyncLogDequeSerializer(testIdentifier);
     int logNum;
     List<Log> testLogs1;
@@ -289,7 +289,7 @@ public class SyncLogDequeSerializerTest extends IoTDBTest {
   }
 
   @Test
-  public void testRecoveryWithEmptyTempLog() {
+  public void testRecoveryWithEmptyTempLog() throws IOException {
     SyncLogDequeSerializer syncLogDequeSerializer = new SyncLogDequeSerializer(testIdentifier);
     int logNum;
     List<Log> testLogs1;
@@ -325,7 +325,7 @@ public class SyncLogDequeSerializerTest extends IoTDBTest {
   }
 
   @Test
-  public void testRecoveryWithTempLogWithoutOriginalLog() {
+  public void testRecoveryWithTempLogWithoutOriginalLog() throws IOException {
     SyncLogDequeSerializer syncLogDequeSerializer = new SyncLogDequeSerializer(testIdentifier);
     int logNum;
     List<Log> testLogs1;