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/26 11:12:26 UTC

[incubator-iotdb] branch feature_async_close_tsfile updated: discard PrimitiveDataListPool

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


The following commit(s) were added to refs/heads/feature_async_close_tsfile by this push:
     new e607d9e  discard PrimitiveDataListPool
     new 1202b84  Merge remote-tracking branch 'origin/feature_async_close_tsfile' into feature_async_close_tsfile
e607d9e is described below

commit e607d9e18acc9dfc293ed7ef587ffdac76fb15fa
Author: qiaojialin <64...@qq.com>
AuthorDate: Wed Jun 26 19:07:48 2019 +0800

    discard PrimitiveDataListPool
---
 .../iotdb/db/engine/memtable/AbstractMemTable.java |  4 ----
 .../iotdb/db/engine/memtable/WritableMemChunk.java | 22 +++++++++++++++++++++-
 .../iotdb/db/utils/PrimitiveDataListPool.java      |  6 ------
 3 files changed, 21 insertions(+), 11 deletions(-)

diff --git a/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/AbstractMemTable.java b/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/AbstractMemTable.java
index 2f42d5e..49ace0b 100644
--- a/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/AbstractMemTable.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/AbstractMemTable.java
@@ -95,12 +95,8 @@ public abstract class AbstractMemTable implements IMemTable {
   @Override
   public void write(String deviceId, String measurement, TSDataType dataType, long insertTime,
       String insertValue) {
-//    long start = System.currentTimeMillis();
     IWritableMemChunk memSeries = createIfNotExistAndGet(deviceId, measurement, dataType);
-//    MemTableWriteTimeCost.getInstance().measure(MemTableWriteTimeCostType.WRITE_1, start);
-//    start = System.currentTimeMillis();
     memSeries.write(insertTime, insertValue);
-//    MemTableWriteTimeCost.getInstance().measure(MemTableWriteTimeCostType.WRITE_2, start);
   }
 
   @Override
diff --git a/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/WritableMemChunk.java b/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/WritableMemChunk.java
index 8890493..6fde860 100644
--- a/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/WritableMemChunk.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/WritableMemChunk.java
@@ -38,7 +38,27 @@ public class WritableMemChunk implements IWritableMemChunk {
 
   public WritableMemChunk(TSDataType dataType) {
     this.dataType = dataType;
-    this.list = PrimitiveDataListPool.getInstance().getPrimitiveDataListByDataType(dataType);
+//    this.list = PrimitiveDataListPool.getInstance().getPrimitiveDataListByDataType(dataType);
+    this.list = getPrimitiveDataListByDataType(dataType);
+  }
+
+  public PrimitiveArrayListV2 getPrimitiveDataListByDataType(TSDataType dataType) {
+    switch (dataType) {
+      case BOOLEAN:
+        return new PrimitiveArrayListV2(boolean.class);
+      case INT32:
+        return new PrimitiveArrayListV2(int.class);
+      case INT64:
+        return new PrimitiveArrayListV2(long.class);
+      case FLOAT:
+        return new PrimitiveArrayListV2(float.class);
+      case DOUBLE:
+        return new PrimitiveArrayListV2(double.class);
+      case TEXT:
+        return new PrimitiveArrayListV2(Binary.class);
+      default:
+        throw new UnSupportedDataTypeException("DataType: " + dataType);
+    }
   }
 
   @Override
diff --git a/iotdb/src/main/java/org/apache/iotdb/db/utils/PrimitiveDataListPool.java b/iotdb/src/main/java/org/apache/iotdb/db/utils/PrimitiveDataListPool.java
index 2ffd779..6df1cf3 100644
--- a/iotdb/src/main/java/org/apache/iotdb/db/utils/PrimitiveDataListPool.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/utils/PrimitiveDataListPool.java
@@ -69,13 +69,7 @@ public class PrimitiveDataListPool {
 
   private PrimitiveArrayListV2 getPrimitiveDataList(Class clazz) {
     ConcurrentLinkedQueue<PrimitiveArrayListV2> primitiveArrayList = primitiveDataListsMap.get(clazz);
-
-    long time = System.currentTimeMillis();
     PrimitiveArrayListV2 dataList = primitiveArrayList.poll();
-    time = System.currentTimeMillis() - time;
-    if (time > 10) {
-      LOGGER.info("poll from primitiveDataListsMap cost {}ms", time);
-    }
     return dataList == null ? new PrimitiveArrayListV2(clazz) : dataList;
   }