This is an automated email from the ASF dual-hosted git repository.
qiaojialin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new adb2e84 Add array size in iotdb config (#1247)
adb2e84 is described below
commit adb2e84ed126100cbc77bad23c3feb1bca03ccb2
Author: wshao08 <[email protected]>
AuthorDate: Sat May 23 20:35:06 2020 +0800
Add array size in iotdb config (#1247)
---
server/src/assembly/resources/conf/iotdb-engine.properties | 3 +++
.../src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java | 13 +++++++++++++
.../main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java | 3 +++
.../java/org/apache/iotdb/db/rescon/PrimitiveArrayPool.java | 4 +++-
4 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/server/src/assembly/resources/conf/iotdb-engine.properties
b/server/src/assembly/resources/conf/iotdb-engine.properties
index f19b254..6135c24 100644
--- a/server/src/assembly/resources/conf/iotdb-engine.properties
+++ b/server/src/assembly/resources/conf/iotdb-engine.properties
@@ -238,6 +238,9 @@ enable_parameter_adapter=true
# The parameter form is a:b:c, where a, b and c are integers. for example:
1:1:1 , 6:3:1
write_read_free_memory_proportion=6:3:1
+# primitive array size (length of each array) in array pool
+primitive_array_size=128
+
####################
### Upgrade Configurations
diff --git a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
index e61d5e4..0d04592 100644
--- a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
+++ b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
@@ -529,6 +529,11 @@ public class IoTDBConfig {
* also be affected.
*/
private long defaultTTL = Long.MAX_VALUE;
+
+ /**
+ * The default value of primitive array size in array pool
+ */
+ private int primitiveArraySize = 128;
/**
* Time range for partitioning data inside each storage group, the unit is
second
*/
@@ -1493,4 +1498,12 @@ public class IoTDBConfig {
public void setTagAttributeTotalSize(int tagAttributeTotalSize) {
this.tagAttributeTotalSize = tagAttributeTotalSize;
}
+
+ public int getPrimitiveArraySize() {
+ return primitiveArraySize;
+ }
+
+ public void setPrimitiveArraySize(int primitiveArraySize) {
+ this.primitiveArraySize = primitiveArraySize;
+ }
}
diff --git a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
index 1ca12d2..c6dc527 100644
--- a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
+++ b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
@@ -384,6 +384,9 @@ public class IoTDBDescriptor {
Integer.parseInt(properties.getProperty("tag_attribute_total_size",
String.valueOf(conf.getTagAttributeTotalSize())))
);
+ conf.setPrimitiveArraySize((Integer.parseInt(
+ properties.getProperty(
+ "primitive_array_size",
String.valueOf(conf.getPrimitiveArraySize())))));
// mqtt
if (properties.getProperty(IoTDBConstant.MQTT_HOST_NAME) != null) {
diff --git
a/server/src/main/java/org/apache/iotdb/db/rescon/PrimitiveArrayPool.java
b/server/src/main/java/org/apache/iotdb/db/rescon/PrimitiveArrayPool.java
index d010ed6..a403f28 100644
--- a/server/src/main/java/org/apache/iotdb/db/rescon/PrimitiveArrayPool.java
+++ b/server/src/main/java/org/apache/iotdb/db/rescon/PrimitiveArrayPool.java
@@ -20,6 +20,7 @@ package org.apache.iotdb.db.rescon;
import java.util.ArrayDeque;
import java.util.EnumMap;
+import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException;
import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
import org.apache.iotdb.tsfile.utils.Binary;
@@ -34,7 +35,8 @@ public class PrimitiveArrayPool {
*/
private static final EnumMap<TSDataType, ArrayDeque<Object>>
primitiveArraysMap = new EnumMap<>(TSDataType.class);
- public static final int ARRAY_SIZE = 128;
+ public static final int ARRAY_SIZE =
+ IoTDBDescriptor.getInstance().getConfig().getPrimitiveArraySize();
static {
primitiveArraysMap.put(TSDataType.BOOLEAN, new ArrayDeque<>());