This is an automated email from the ASF dual-hosted git repository. haonan pushed a commit to branch vectorMemTable in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit c7cfd42c9997d9047125907fd9380aab7bc1b8bb Author: HTHou <[email protected]> AuthorDate: Fri Mar 12 19:54:06 2021 +0800 mvn spotless:apply --- .../iotdb/db/engine/flush/MemTableFlushTask.java | 8 +-- .../iotdb/db/engine/memtable/AbstractMemTable.java | 63 +++++++++++----------- .../apache/iotdb/db/engine/memtable/IMemTable.java | 6 +-- .../db/engine/memtable/IWritableMemChunk.java | 2 +- .../iotdb/db/rescon/PrimitiveArrayManager.java | 1 + .../iotdb/db/utils/datastructure/VectorTVList.java | 28 +++++++--- .../db/engine/memtable/PrimitiveMemTableTest.java | 6 +-- .../db/utils/datastructure/VectorTVListTest.java | 3 +- .../tsfile/write/schema/MeasurementSchema.java | 1 - 9 files changed, 61 insertions(+), 57 deletions(-) diff --git a/server/src/main/java/org/apache/iotdb/db/engine/flush/MemTableFlushTask.java b/server/src/main/java/org/apache/iotdb/db/engine/flush/MemTableFlushTask.java index 7c51053..6074f38 100644 --- a/server/src/main/java/org/apache/iotdb/db/engine/flush/MemTableFlushTask.java +++ b/server/src/main/java/org/apache/iotdb/db/engine/flush/MemTableFlushTask.java @@ -191,10 +191,10 @@ public class MemTableFlushTask { seriesWriterImpl.write(time, tvPairs.getBinary(i), false); break; case VECTOR: - // TODO: -// for ( : tvPairs.getVector(i)) { -// seriesWriterImpl.write(time, tvPairs.getVector(i)[], get); -// } + // TODO: + // for ( : tvPairs.getVector(i)) { + // seriesWriterImpl.write(time, tvPairs.getVector(i)[], get); + // } break; default: LOGGER.error( diff --git a/server/src/main/java/org/apache/iotdb/db/engine/memtable/AbstractMemTable.java b/server/src/main/java/org/apache/iotdb/db/engine/memtable/AbstractMemTable.java index 4b8c0e8..9851996 100644 --- a/server/src/main/java/org/apache/iotdb/db/engine/memtable/AbstractMemTable.java +++ b/server/src/main/java/org/apache/iotdb/db/engine/memtable/AbstractMemTable.java @@ -92,8 +92,7 @@ public abstract class AbstractMemTable implements IMemTable { return memTableMap.containsKey(deviceId) && memTableMap.get(deviceId).containsKey(measurement); } - private IWritableMemChunk createIfNotExistAndGet( - String deviceId, IMeasurementSchema schema) { + private IWritableMemChunk createIfNotExistAndGet(String deviceId, IMeasurementSchema schema) { Map<String, IWritableMemChunk> memSeries = memTableMap.computeIfAbsent(deviceId, k -> new HashMap<>()); @@ -137,33 +136,34 @@ public abstract class AbstractMemTable implements IMemTable { insertRowPlan.getMeasurements().length - insertRowPlan.getFailedMeasurementNumber(); } -// @Override -// public void insert(InsertVectorPlan insertVectorPlan) { -// updatePlanIndexes(insertVectorPlan.getIndex()); -// Object[] values = insertVectorPlan.getValues(); -// -// MeasurementMNode[] measurementMNodes = insertVectorPlan.getMeasurementMNodes(); -// String[] measurements = insertVectorPlan.getMeasurements(); -// IMeasurementSchema vmSchema = (IMeasurementSchema) measurementMNodes[0].getSchema(); -// for (int i = 0; i < values.length; i++) { -// Object value = values[i]; -// if (value == null) { -// continue; -// } -// -// memSize += -// MemUtils.getRecordSize( -// vmSchema.getValueTSDataTypeList().get(i), value, disableMemControl); -// } -// write( -// insertVectorPlan.getDeviceId().getFullPath(), -// vmSchema, -// insertVectorPlan.getTime(), -// values); -// -// totalPointsNum += -// insertVectorPlan.getMeasurements().length - insertVectorPlan.getFailedMeasurementNumber(); -// } + // @Override + // public void insert(InsertVectorPlan insertVectorPlan) { + // updatePlanIndexes(insertVectorPlan.getIndex()); + // Object[] values = insertVectorPlan.getValues(); + // + // MeasurementMNode[] measurementMNodes = insertVectorPlan.getMeasurementMNodes(); + // String[] measurements = insertVectorPlan.getMeasurements(); + // IMeasurementSchema vmSchema = (IMeasurementSchema) measurementMNodes[0].getSchema(); + // for (int i = 0; i < values.length; i++) { + // Object value = values[i]; + // if (value == null) { + // continue; + // } + // + // memSize += + // MemUtils.getRecordSize( + // vmSchema.getValueTSDataTypeList().get(i), value, disableMemControl); + // } + // write( + // insertVectorPlan.getDeviceId().getFullPath(), + // vmSchema, + // insertVectorPlan.getTime(), + // values); + // + // totalPointsNum += + // insertVectorPlan.getMeasurements().length - + // insertVectorPlan.getFailedMeasurementNumber(); + // } @Override public void insertTablet(InsertTabletPlan insertTabletPlan, int start, int end) @@ -194,10 +194,7 @@ public abstract class AbstractMemTable implements IMemTable { @Override public void write( - String deviceId, - IMeasurementSchema schema, - long insertTime, - Object objectValue) { + String deviceId, IMeasurementSchema schema, long insertTime, Object objectValue) { IWritableMemChunk memSeries = createIfNotExistAndGet(deviceId, schema); memSeries.write(insertTime, objectValue); } diff --git a/server/src/main/java/org/apache/iotdb/db/engine/memtable/IMemTable.java b/server/src/main/java/org/apache/iotdb/db/engine/memtable/IMemTable.java index 3e26df5..c933dba 100644 --- a/server/src/main/java/org/apache/iotdb/db/engine/memtable/IMemTable.java +++ b/server/src/main/java/org/apache/iotdb/db/engine/memtable/IMemTable.java @@ -53,11 +53,7 @@ public interface IMemTable { long insertTime, Object objectValue); - void write( - String deviceId, - IMeasurementSchema schema, - long insertTime, - Object objectValue); + void write(String deviceId, IMeasurementSchema schema, long insertTime, Object objectValue); void write(InsertTabletPlan insertTabletPlan, int start, int end); diff --git a/server/src/main/java/org/apache/iotdb/db/engine/memtable/IWritableMemChunk.java b/server/src/main/java/org/apache/iotdb/db/engine/memtable/IWritableMemChunk.java index 7505042..4ee173b 100644 --- a/server/src/main/java/org/apache/iotdb/db/engine/memtable/IWritableMemChunk.java +++ b/server/src/main/java/org/apache/iotdb/db/engine/memtable/IWritableMemChunk.java @@ -36,7 +36,7 @@ public interface IWritableMemChunk { void putBinary(long t, Binary v); void putBoolean(long t, boolean v); - + void putVector(long t, Object[] v); void putLongs(long[] t, long[] v, int start, int end); diff --git a/server/src/main/java/org/apache/iotdb/db/rescon/PrimitiveArrayManager.java b/server/src/main/java/org/apache/iotdb/db/rescon/PrimitiveArrayManager.java index b471332..7a326f3 100644 --- a/server/src/main/java/org/apache/iotdb/db/rescon/PrimitiveArrayManager.java +++ b/server/src/main/java/org/apache/iotdb/db/rescon/PrimitiveArrayManager.java @@ -24,6 +24,7 @@ import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException; import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; import org.apache.iotdb.tsfile.utils.Binary; import org.apache.iotdb.tsfile.utils.TsPrimitiveType; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/server/src/main/java/org/apache/iotdb/db/utils/datastructure/VectorTVList.java b/server/src/main/java/org/apache/iotdb/db/utils/datastructure/VectorTVList.java index 6c472ef..441e5fe 100644 --- a/server/src/main/java/org/apache/iotdb/db/utils/datastructure/VectorTVList.java +++ b/server/src/main/java/org/apache/iotdb/db/utils/datastructure/VectorTVList.java @@ -47,7 +47,7 @@ public class VectorTVList extends TVList { indices = new ArrayList<>(); dataTypes = types; values = new ArrayList<>(); - for (int i = 0; i < types.size(); i++) { + for (int i = 0; i < types.size(); i++) { values.add(new ArrayList<>()); } } @@ -114,22 +114,34 @@ public class VectorTVList extends TVList { List<Object> columnValues = values.get(i); switch (dataTypes.get(i)) { case TEXT: - vector[i] = TsPrimitiveType.getByType(dataTypes.get(i), ((Binary[]) columnValues.get(arrayIndex))[elementIndex]); + vector[i] = + TsPrimitiveType.getByType( + dataTypes.get(i), ((Binary[]) columnValues.get(arrayIndex))[elementIndex]); break; case FLOAT: - vector[i] = TsPrimitiveType.getByType(dataTypes.get(i), ((float[]) columnValues.get(arrayIndex))[elementIndex]); + vector[i] = + TsPrimitiveType.getByType( + dataTypes.get(i), ((float[]) columnValues.get(arrayIndex))[elementIndex]); break; case INT32: - vector[i] = TsPrimitiveType.getByType(dataTypes.get(i), ((int[]) columnValues.get(arrayIndex))[elementIndex]); + vector[i] = + TsPrimitiveType.getByType( + dataTypes.get(i), ((int[]) columnValues.get(arrayIndex))[elementIndex]); break; case INT64: - vector[i] = TsPrimitiveType.getByType(dataTypes.get(i), ((long[]) columnValues.get(arrayIndex))[elementIndex]); + vector[i] = + TsPrimitiveType.getByType( + dataTypes.get(i), ((long[]) columnValues.get(arrayIndex))[elementIndex]); break; case DOUBLE: - vector[i] = TsPrimitiveType.getByType(dataTypes.get(i), ((double[]) columnValues.get(arrayIndex))[elementIndex]); + vector[i] = + TsPrimitiveType.getByType( + dataTypes.get(i), ((double[]) columnValues.get(arrayIndex))[elementIndex]); break; case BOOLEAN: - vector[i] = TsPrimitiveType.getByType(dataTypes.get(i), ((boolean[]) columnValues.get(arrayIndex))[elementIndex]); + vector[i] = + TsPrimitiveType.getByType( + dataTypes.get(i), ((boolean[]) columnValues.get(arrayIndex))[elementIndex]); break; default: break; @@ -170,7 +182,7 @@ public class VectorTVList extends TVList { return cloneT; case FLOAT: float[] valueF = (float[]) value; - float[] cloneF= new float[valueF.length]; + float[] cloneF = new float[valueF.length]; System.arraycopy(valueF, 0, cloneF, 0, valueF.length); return cloneF; case INT32: diff --git a/server/src/test/java/org/apache/iotdb/db/engine/memtable/PrimitiveMemTableTest.java b/server/src/test/java/org/apache/iotdb/db/engine/memtable/PrimitiveMemTableTest.java index 0aaef22..fc32d44 100644 --- a/server/src/test/java/org/apache/iotdb/db/engine/memtable/PrimitiveMemTableTest.java +++ b/server/src/test/java/org/apache/iotdb/db/engine/memtable/PrimitiveMemTableTest.java @@ -33,6 +33,7 @@ import org.apache.iotdb.tsfile.utils.Binary; import org.apache.iotdb.tsfile.utils.TsPrimitiveType; import org.apache.iotdb.tsfile.write.schema.MeasurementSchema; import org.apache.iotdb.tsfile.write.schema.VectorMeasurementSchema; + import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -292,10 +293,7 @@ public class PrimitiveMemTableTest { case VECTOR: TsPrimitiveType[] values = new TsPrimitiveType[1]; values[0] = TsPrimitiveType.getByType(TSDataType.INT32, rand.nextInt()); - ret[i] = - new TimeValuePair( - rand.nextLong(), - TsPrimitiveType.getByType(dataType, values)); + ret[i] = new TimeValuePair(rand.nextLong(), TsPrimitiveType.getByType(dataType, values)); break; default: throw new UnSupportedDataTypeException("Unsupported data type:" + dataType); diff --git a/server/src/test/java/org/apache/iotdb/db/utils/datastructure/VectorTVListTest.java b/server/src/test/java/org/apache/iotdb/db/utils/datastructure/VectorTVListTest.java index 60f25ce..8756cc6 100644 --- a/server/src/test/java/org/apache/iotdb/db/utils/datastructure/VectorTVListTest.java +++ b/server/src/test/java/org/apache/iotdb/db/utils/datastructure/VectorTVListTest.java @@ -18,8 +18,9 @@ */ package org.apache.iotdb.db.utils.datastructure; -import org.apache.commons.lang3.ArrayUtils; import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; + +import org.apache.commons.lang3.ArrayUtils; import org.junit.Assert; import org.junit.Test; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/write/schema/MeasurementSchema.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/write/schema/MeasurementSchema.java index 7d63278..61dcfb6 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/write/schema/MeasurementSchema.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/write/schema/MeasurementSchema.java @@ -358,5 +358,4 @@ public class MeasurementSchema public void setType(TSDataType type) { this.type = type.serialize(); } - }
