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 2019/06/27 08:22:41 UTC

[incubator-iotdb] 04/04: reuse getSortedTimeValuePair, because it is fast...

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

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

commit f2fc4785f9c5a6b52ae02e5924d2ab5d0fa0a02b
Author: qiaojialin <64...@qq.com>
AuthorDate: Thu Jun 27 16:22:21 2019 +0800

    reuse getSortedTimeValuePair, because it is fast...
---
 .../apache/iotdb/db/engine/memtable/MemTableFlushTaskV2.java   | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/MemTableFlushTaskV2.java b/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/MemTableFlushTaskV2.java
index f933939..3271041 100644
--- a/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/MemTableFlushTaskV2.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/MemTableFlushTaskV2.java
@@ -15,6 +15,7 @@
 package org.apache.iotdb.db.engine.memtable;
 
 import java.io.IOException;
+import java.util.List;
 import java.util.concurrent.ConcurrentLinkedQueue;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
@@ -80,7 +81,7 @@ public class MemTableFlushTaskV2 {
         // TODO if we can not use TSFileIO writer, then we have to redesign the class of TSFileIO.
         IWritableMemChunk series = memTable.getMemTableMap().get(deviceId).get(measurementId);
         MeasurementSchema desc = fileSchema.getMeasurementSchema(measurementId);
-        DeduplicatedSortedData sortedTimeValuePairs = series.getDeduplicatedSortedData();
+        List<TimeValuePair> sortedTimeValuePairs = series.getSortedTimeValuePairList();
         sortTime += System.currentTimeMillis() - startTime;
         encodingTaskQueue.add(new Pair<>(sortedTimeValuePairs, desc));
       }
@@ -132,7 +133,7 @@ public class MemTableFlushTaskV2 {
               ioTaskQueue.add(task);
             } else {
               long starTime = System.currentTimeMillis();
-              Pair<DeduplicatedSortedData, MeasurementSchema> encodingMessage = (Pair<DeduplicatedSortedData, MeasurementSchema>) task;
+              Pair<List<TimeValuePair>, MeasurementSchema> encodingMessage = (Pair<List<TimeValuePair>, MeasurementSchema>) task;
               ChunkBuffer chunkBuffer = new ChunkBuffer(encodingMessage.right);
               IChunkWriter seriesWriter = new ChunkWriterImpl(encodingMessage.right, chunkBuffer,
                   PAGE_SIZE_THRESHOLD);
@@ -213,11 +214,10 @@ public class MemTableFlushTaskV2 {
   };
 
 
-  private void writeOneSeries(DeduplicatedSortedData tvPairs, IChunkWriter seriesWriterImpl,
+  private void writeOneSeries(List<TimeValuePair> tvPairs, IChunkWriter seriesWriterImpl,
       TSDataType dataType)
       throws IOException {
-    while (tvPairs.hasNext()) {
-      TimeValuePair timeValuePair = tvPairs.next();
+    for (TimeValuePair timeValuePair: tvPairs) {
       switch (dataType) {
         case BOOLEAN:
           seriesWriterImpl