This is an automated email from the ASF dual-hosted git repository. qiaojialin pushed a commit to branch fix_check_type in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
commit 6d00d5c731020ad8792f2ca3feeb6999c69e8cc3 Author: qiaojialin <[email protected]> AuthorDate: Wed Oct 23 16:05:15 2019 +0800 write WAL after insert memtable --- .../iotdb/db/engine/storagegroup/TsFileProcessor.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java index 902f14f..17aec9d 100644 --- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java +++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java @@ -141,6 +141,9 @@ public class TsFileProcessor { workMemTable = MemTablePool.getInstance().getAvailableMemTable(this); } + // insert insertPlan to the work memtable + workMemTable.insert(insertPlan); + if (IoTDBDescriptor.getInstance().getConfig().isEnableWal()) { try { getLogNode().write(insertPlan); @@ -149,6 +152,7 @@ public class TsFileProcessor { return false; } } + // update start time of this memtable tsFileResource.updateStartTime(insertPlan.getDeviceId(), insertPlan.getTime()); //for sequence tsfile, we update the endTime only when the file is prepared to be closed. @@ -157,18 +161,19 @@ public class TsFileProcessor { tsFileResource.updateEndTime(insertPlan.getDeviceId(), insertPlan.getTime()); } - // insert insertPlan to the work memtable - workMemTable.insert(insertPlan); - return true; } public boolean insertBatch(BatchInsertPlan batchInsertPlan, List<Integer> indexes, Integer[] results) throws QueryProcessorException { + if (workMemTable == null) { workMemTable = MemTablePool.getInstance().getAvailableMemTable(this); } + // insert insertPlan to the work memtable + workMemTable.insertBatch(batchInsertPlan, indexes); + if (IoTDBDescriptor.getInstance().getConfig().isEnableWal()) { try { batchInsertPlan.setIndex(new HashSet<>(indexes)); @@ -190,8 +195,6 @@ public class TsFileProcessor { tsFileResource.updateEndTime(batchInsertPlan.getDeviceId(), batchInsertPlan.getMaxTime()); } - // insert insertPlan to the work memtable - workMemTable.insertBatch(batchInsertPlan, indexes); return true; }
