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

haonan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new ea651235884 Fix data type error during data insertion (#10012)
ea651235884 is described below

commit ea651235884cd749c78d8aa42d7716a574cc1210
Author: Marcos_Zyk <[email protected]>
AuthorDate: Thu Jun 1 10:47:03 2023 +0800

    Fix data type error during data insertion (#10012)
---
 .../apache/iotdb/db/rescon/PrimitiveArrayManager.java    | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

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 c0075afe2dd..d93ca19d9d2 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
@@ -55,11 +55,11 @@ public class PrimitiveArrayManager {
           * CONFIG.getBufferedArraysMemoryProportion()
           / AMPLIFICATION_FACTOR;
 
-  /** TSDataType#serialize() -> ArrayDeque<Array>, VECTOR is ignored */
-  private static final ArrayDeque[] POOLED_ARRAYS = new 
ArrayDeque[TSDataType.values().length - 1];
+  /** TSDataType#serialize() -> ArrayDeque<Array>, VECTOR and UNKNOWN are 
ignored */
+  private static final ArrayDeque[] POOLED_ARRAYS = new 
ArrayDeque[TSDataType.values().length - 2];
 
-  /** TSDataType#serialize() -> max size of ArrayDeque<Array>, VECTOR is 
ignored */
-  private static final int[] LIMITS = new int[TSDataType.values().length - 1];
+  /** TSDataType#serialize() -> max size of ArrayDeque<Array>, VECTOR and 
UNKNOWN are ignored */
+  private static final int[] LIMITS = new int[TSDataType.values().length - 2];
 
   /** LIMITS should be updated if (TOTAL_ALLOCATION_REQUEST_COUNT.get() > 
limitUpdateThreshold) */
   private static long limitUpdateThreshold;
@@ -89,7 +89,7 @@ public class PrimitiveArrayManager {
     // => LIMITS[i] = POOLED_ARRAYS_MEMORY_THRESHOLD / ARRAY_SIZE / 
∑(datatype[i].getDataTypeSize())
     int totalDataTypeSize = 0;
     for (TSDataType dataType : TSDataType.values()) {
-      // VECTOR is ignored
+      // VECTOR and UNKNOWN are ignored
       if (dataType.equals(TSDataType.VECTOR) || 
dataType.equals(TSDataType.UNKNOWN)) {
         continue;
       }
@@ -100,7 +100,7 @@ public class PrimitiveArrayManager {
     Arrays.fill(LIMITS, (int) limit);
 
     // limitUpdateThreshold = ∑(LIMITS[i])
-    limitUpdateThreshold = (long) ((TSDataType.values().length - 1) * limit);
+    limitUpdateThreshold = (long) ((TSDataType.values().length - 2) * limit);
 
     for (int i = 0; i < POOLED_ARRAYS.length; ++i) {
       POOLED_ARRAYS[i] = new ArrayDeque<>((int) limit);
@@ -167,8 +167,8 @@ public class PrimitiveArrayManager {
     //     / ∑(datatype[i].getDataTypeSize() * ratios[i])
     double weightedSumOfRatios = 0;
     for (TSDataType dataType : TSDataType.values()) {
-      // VECTOR is ignored
-      if (dataType.equals(TSDataType.VECTOR)) {
+      // VECTOR and UNKNOWN are ignored
+      if (dataType.equals(TSDataType.VECTOR) || 
dataType.equals(TSDataType.UNKNOWN)) {
         continue;
       }
       weightedSumOfRatios += dataType.getDataTypeSize() * 
ratios[dataType.serialize()];

Reply via email to