This is an automated email from the ASF dual-hosted git repository.
hxd pushed a commit to branch fix_add_future_4_flush_opeartion
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
The following commit(s) were added to
refs/heads/fix_add_future_4_flush_opeartion by this push:
new de20e5c replace assertEquals with assertTrue or assertFalse; add
logger.error for some exception; change the time unit of lastFlushTime as
nanoTime
de20e5c is described below
commit de20e5c6ad495601aebaf84cdc948596df0a1feb
Author: xiangdong huang <[email protected]>
AuthorDate: Tue Feb 19 20:17:08 2019 +0800
replace assertEquals with assertTrue or assertFalse; add logger.error for
some exception; change the time unit of lastFlushTime as nanoTime
---
.../engine/bufferwrite/BufferWriteProcessor.java | 9 +++---
.../db/engine/filenode/FileNodeProcessor.java | 1 -
.../bufferwrite/BufferWriteProcessorNewTest.java | 25 +++++++++-------
.../bufferwrite/BufferWriteProcessorTest.java | 34 +++++++++++++---------
4 files changed, 41 insertions(+), 28 deletions(-)
diff --git
a/iotdb/src/main/java/org/apache/iotdb/db/engine/bufferwrite/BufferWriteProcessor.java
b/iotdb/src/main/java/org/apache/iotdb/db/engine/bufferwrite/BufferWriteProcessor.java
index f8d7153..18a7f55 100644
---
a/iotdb/src/main/java/org/apache/iotdb/db/engine/bufferwrite/BufferWriteProcessor.java
+++
b/iotdb/src/main/java/org/apache/iotdb/db/engine/bufferwrite/BufferWriteProcessor.java
@@ -69,6 +69,7 @@ public class BufferWriteProcessor extends Processor {
private Action bufferwriteCloseAction;
private Action filenodeFlushAction;
+ //lastFlushTime time unit: nanosecond
private long lastFlushTime = -1;
private long valueCount = 0;
@@ -311,12 +312,12 @@ public class BufferWriteProcessor extends Processor {
LOGGER.info(
"The bufferwrite processor {}: last flush time is {}, this flush
time is {}, "
+ "flush time interval is {}s", getProcessorName(),
- DatetimeUtils.convertMillsecondToZonedDateTime(lastFlushTime),
+ DatetimeUtils.convertMillsecondToZonedDateTime(lastFlushTime/1000),
DatetimeUtils.convertMillsecondToZonedDateTime(thisFlushTime),
- (thisFlushTime - lastFlushTime) / 1000);
+ (thisFlushTime - lastFlushTime/1000) / 1000);
}
}
- lastFlushTime = System.currentTimeMillis();
+ lastFlushTime = System.nanoTime();
// check value count
if (valueCount > 0) {
// waiting for the end of last flush operation.
@@ -486,7 +487,7 @@ public class BufferWriteProcessor extends Processor {
/**
* used for test. We can know when the flush() is called.
- * @return the last flush() time.
+ * @return the last flush() time. Time unit: nanosecond.
*/
public long getLastFlushTime() {
return lastFlushTime;
diff --git
a/iotdb/src/main/java/org/apache/iotdb/db/engine/filenode/FileNodeProcessor.java
b/iotdb/src/main/java/org/apache/iotdb/db/engine/filenode/FileNodeProcessor.java
index 4605236..adaae9d 100644
---
a/iotdb/src/main/java/org/apache/iotdb/db/engine/filenode/FileNodeProcessor.java
+++
b/iotdb/src/main/java/org/apache/iotdb/db/engine/filenode/FileNodeProcessor.java
@@ -18,7 +18,6 @@
*/
package org.apache.iotdb.db.engine.filenode;
-import com.sun.org.apache.xpath.internal.operations.Bool;
import java.io.File;
import java.io.IOException;
import java.nio.file.FileSystems;
diff --git
a/iotdb/src/test/java/org/apache/iotdb/db/engine/bufferwrite/BufferWriteProcessorNewTest.java
b/iotdb/src/test/java/org/apache/iotdb/db/engine/bufferwrite/BufferWriteProcessorNewTest.java
index 04046b8..08d4720 100644
---
a/iotdb/src/test/java/org/apache/iotdb/db/engine/bufferwrite/BufferWriteProcessorNewTest.java
+++
b/iotdb/src/test/java/org/apache/iotdb/db/engine/bufferwrite/BufferWriteProcessorNewTest.java
@@ -18,7 +18,9 @@
*/
package org.apache.iotdb.db.engine.bufferwrite;
+import static junit.framework.TestCase.assertTrue;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
import java.io.File;
import java.io.IOException;
@@ -44,9 +46,11 @@ import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class BufferWriteProcessorNewTest {
-
+ private static final Logger LOGGER =
LoggerFactory.getLogger(BufferWriteProcessorNewTest.class);
Action bfflushaction = new Action() {
@Override
@@ -99,15 +103,15 @@ public class BufferWriteProcessorNewTest {
parameters, FileSchemaUtils.constructFileSchema(processorName));
assertEquals(filename, bufferwrite.getFileName());
assertEquals(processorName + File.separator + filename,
bufferwrite.getFileRelativePath());
- assertEquals(true, bufferwrite.isNewProcessor());
+ assertTrue(bufferwrite.isNewProcessor());
bufferwrite.setNewProcessor(false);
- assertEquals(false, bufferwrite.isNewProcessor());
+ assertFalse(bufferwrite.isNewProcessor());
Pair<ReadOnlyMemChunk, List<ChunkMetaData>> pair = bufferwrite
.queryBufferWriteData(processorName,
measurementId, dataType);
ReadOnlyMemChunk left = pair.left;
List<ChunkMetaData> right = pair.right;
- assertEquals(true, left.isEmpty());
+ assertTrue(left.isEmpty());
assertEquals(0, right.size());
for (int i = 1; i <= 100; i++) {
bufferwrite.write(processorName, measurementId, i, dataType,
String.valueOf(i));
@@ -116,7 +120,7 @@ public class BufferWriteProcessorNewTest {
pair = bufferwrite.queryBufferWriteData(processorName, measurementId,
dataType);
left = pair.left;
right = pair.right;
- assertEquals(false, left.isEmpty());
+ assertFalse(left.isEmpty());
int num = 1;
Iterator<TimeValuePair> iterator = left.getIterator();
for (; num <= 100; num++) {
@@ -125,24 +129,25 @@ public class BufferWriteProcessorNewTest {
assertEquals(num, timeValuePair.getTimestamp());
assertEquals(num, timeValuePair.getValue().getInt());
}
- assertEquals(false, bufferwrite.isFlush());
+ assertFalse(bufferwrite.isFlush());
long lastFlushTime = bufferwrite.getLastFlushTime();
// flush asynchronously
bufferwrite.flush();
- assertEquals(true, bufferwrite.getLastFlushTime() != lastFlushTime);
- assertEquals(true, bufferwrite.canBeClosed());
+ assertTrue(bufferwrite.getLastFlushTime() != lastFlushTime);
+ assertTrue(bufferwrite.canBeClosed());
// waiting for the end of flush.
try {
bufferwrite.getFlushFuture().get(10, TimeUnit.SECONDS);
} catch (Exception e) {
//because UT uses a mock flush operation, 10 seconds should be enough.
+ LOGGER.error(e.getMessage(),e);
Assert.fail("mock flush spends more than 10 seconds... "
+ "Please modify the value or change a better test environment");
}
pair = bufferwrite.queryBufferWriteData(processorName, measurementId,
dataType);
left = pair.left;
right = pair.right;
- assertEquals(true, left.isEmpty());
+ assertTrue(left.isEmpty());
assertEquals(1, right.size());
assertEquals(measurementId, right.get(0).getMeasurementUid());
assertEquals(dataType, right.get(0).getTsDataType());
@@ -154,7 +159,7 @@ public class BufferWriteProcessorNewTest {
pair = bufferWriteProcessor.queryBufferWriteData(processorName,
measurementId, dataType);
left = pair.left;
right = pair.right;
- assertEquals(true, left.isEmpty());
+ assertTrue(left.isEmpty());
assertEquals(1, right.size());
assertEquals(measurementId, right.get(0).getMeasurementUid());
assertEquals(dataType, right.get(0).getTsDataType());
diff --git
a/iotdb/src/test/java/org/apache/iotdb/db/engine/bufferwrite/BufferWriteProcessorTest.java
b/iotdb/src/test/java/org/apache/iotdb/db/engine/bufferwrite/BufferWriteProcessorTest.java
index 6a2e474..e70ee15 100644
---
a/iotdb/src/test/java/org/apache/iotdb/db/engine/bufferwrite/BufferWriteProcessorTest.java
+++
b/iotdb/src/test/java/org/apache/iotdb/db/engine/bufferwrite/BufferWriteProcessorTest.java
@@ -19,6 +19,9 @@
package org.apache.iotdb.db.engine.bufferwrite;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertTrue;
import ch.qos.logback.core.util.TimeUtil;
import java.io.File;
@@ -50,9 +53,13 @@ import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class BufferWriteProcessorTest {
+ private static final Logger LOGGER =
LoggerFactory.getLogger(BufferWriteProcessorTest.class);
+
Action bfflushaction = new Action() {
@Override
@@ -125,7 +132,7 @@ public class BufferWriteProcessorTest {
// check file
String restoreFilePath = insertPath + ".restore";
File restoreFile = new File(dataFile, restoreFilePath);
- assertEquals(true, restoreFile.exists());
+ assertTrue(restoreFile.exists());
File insertFile = new File(dataFile, insertPath);
long insertFileLength = insertFile.length();
FileOutputStream fileOutputStream = new
FileOutputStream(insertFile.getPath(), true);
@@ -140,18 +147,18 @@ public class BufferWriteProcessorTest {
BufferWriteProcessor bufferWriteProcessor = new BufferWriteProcessor(
directories.getFolderForTest(), deviceId,
insertPath, parameters, FileSchemaUtils.constructFileSchema(deviceId));
- assertEquals(true, insertFile.exists());
+ assertTrue(insertFile.exists());
assertEquals(insertFileLength, insertFile.length());
Pair<ReadOnlyMemChunk, List<ChunkMetaData>> pair = bufferWriteProcessor
.queryBufferWriteData(deviceId,
measurementId, dataType);
- assertEquals(true, pair.left.isEmpty());
+ assertTrue(pair.left.isEmpty());
assertEquals(1, pair.right.size());
ChunkMetaData chunkMetaData = pair.right.get(0);
assertEquals(measurementId, chunkMetaData.getMeasurementUid());
assertEquals(dataType, chunkMetaData.getTsDataType());
bufferWriteProcessor.close();
- assertEquals(false, restoreFile.exists());
+ assertFalse(restoreFile.exists());
}
@Test
@@ -169,21 +176,21 @@ public class BufferWriteProcessorTest {
// check file
String restoreFilePath = insertPath + ".restore";
File restoreFile = new File(dataFile, restoreFilePath);
- assertEquals(true, restoreFile.exists());
+ assertTrue(restoreFile.exists());
BufferWriteProcessor bufferWriteProcessor = new BufferWriteProcessor(
directories.getFolderForTest(), deviceId,
insertPath, parameters, FileSchemaUtils.constructFileSchema(deviceId));
Pair<ReadOnlyMemChunk, List<ChunkMetaData>> pair = bufferWriteProcessor
.queryBufferWriteData(deviceId,
measurementId, dataType);
- assertEquals(true, pair.left.isEmpty());
+ assertTrue(pair.left.isEmpty());
assertEquals(1, pair.right.size());
ChunkMetaData chunkMetaData = pair.right.get(0);
assertEquals(measurementId, chunkMetaData.getMeasurementUid());
assertEquals(dataType, chunkMetaData.getTsDataType());
bufferWriteProcessor.close();
bufferwrite.close();
- assertEquals(false, restoreFile.exists());
+ assertFalse(restoreFile.exists());
}
@Test
@@ -192,8 +199,8 @@ public class BufferWriteProcessorTest {
bufferwrite = new BufferWriteProcessor(directories.getFolderForTest(),
deviceId, insertPath,
parameters,
FileSchemaUtils.constructFileSchema(deviceId));
- assertEquals(false, bufferwrite.isFlush());
- assertEquals(true, bufferwrite.canBeClosed());
+ assertFalse(bufferwrite.isFlush());
+ assertTrue(bufferwrite.canBeClosed());
assertEquals(0, bufferwrite.memoryUsage());
assertEquals(TsFileIOWriter.magicStringBytes.length,
bufferwrite.getFileSize());
assertEquals(0, bufferwrite.getMetaSize());
@@ -205,22 +212,23 @@ public class BufferWriteProcessorTest {
assertEquals(lastFlushTime, bufferwrite.getLastFlushTime());
bufferwrite.write(deviceId, measurementId, 86, dataType,
String.valueOf(86));
//assert a flush() is called.
- assertEquals(false, bufferwrite.getLastFlushTime()==lastFlushTime);
+ assertNotEquals(bufferwrite.getLastFlushTime(), lastFlushTime);
// sleep to the end of flush
try {
bufferwrite.getFlushFuture().get(10, TimeUnit.SECONDS);
} catch (Exception e) {
//because UT uses a mock flush operation, 10 seconds should be enough.
+ LOGGER.error(e.getMessage(), e);
Assert.fail("mock flush spends more than 10 seconds... "
+ "Please modify the value or change a better test environment");
}
- assertEquals(false, bufferwrite.isFlush());
+ assertFalse(bufferwrite.isFlush());
assertEquals(0, bufferwrite.memoryUsage());
// query result
Pair<ReadOnlyMemChunk, List<ChunkMetaData>> pair = bufferwrite
.queryBufferWriteData(deviceId, measurementId,
dataType);
- assertEquals(true, pair.left.isEmpty());
+ assertFalse(pair.left.isEmpty());
assertEquals(1, pair.right.size());
ChunkMetaData chunkMetaData = pair.right.get(0);
assertEquals(measurementId, chunkMetaData.getMeasurementUid());
@@ -231,7 +239,7 @@ public class BufferWriteProcessorTest {
}
pair = bufferwrite.queryBufferWriteData(deviceId, measurementId, dataType);
ReadOnlyMemChunk rawSeriesChunk = (ReadOnlyMemChunk) pair.left;
- assertEquals(false, rawSeriesChunk.isEmpty());
+ assertFalse(rawSeriesChunk.isEmpty());
assertEquals(87, rawSeriesChunk.getMinTimestamp());
Assert.assertEquals(87, rawSeriesChunk.getValueAtMinTime().getInt());
assertEquals(100, rawSeriesChunk.getMaxTimestamp());