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;