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()];