This is an automated email from the ASF dual-hosted git repository. qiaojialin pushed a commit to branch add_compaction_interval_0.12 in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 9dc27394f775e584e781d8e4b467ac998b1fe50c Author: qiaojialin <[email protected]> AuthorDate: Thu Jun 10 19:12:45 2021 +0800 add compaction_interval=1000ms --- client-cpp/pom.xml | 4 ++-- compile-tools/pom.xml | 6 +++--- distribution/pom.xml | 2 +- example/client-cpp-example/pom.xml | 2 +- example/udf/pom.xml | 2 +- grafana/pom.xml | 2 +- jdbc/pom.xml | 2 +- pom.xml | 8 ++++---- server/src/assembly/resources/conf/iotdb-engine.properties | 3 +++ .../src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java | 11 +++++++++++ .../main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java | 4 ++++ .../db/engine/compaction/CompactionMergeTaskPoolManager.java | 5 ++++- 12 files changed, 36 insertions(+), 15 deletions(-) diff --git a/client-cpp/pom.xml b/client-cpp/pom.xml index 3963771..b8d9216 100644 --- a/client-cpp/pom.xml +++ b/client-cpp/pom.xml @@ -98,8 +98,8 @@ <cmake.root.dir>${project.parent.basedir}/compile-tools/thrift/target/cmake-${cmake-version}-win64-x64/</cmake.root.dir> <thrift.exec.absolute.path>${project.parent.basedir}/compile-tools/thrift/target/build/compiler/cpp/bin/${cmake.build.type}/thrift.exe</thrift.exec.absolute.path> <iotdb.server.script>start-server.bat</iotdb.server.script> - <boost.include.dir /> - <boost.library.dir /> + <boost.include.dir/> + <boost.library.dir/> </properties> </profile> <profile> diff --git a/compile-tools/pom.xml b/compile-tools/pom.xml index 11cf1eb..37326da 100644 --- a/compile-tools/pom.xml +++ b/compile-tools/pom.xml @@ -35,7 +35,7 @@ <cmake-version>3.17.3</cmake-version> <openssl.include.dir>-Dtrue1=true1</openssl.include.dir> <bison.executable.dir>-Dtrue1=true1</bison.executable.dir> - <cmake.build.type /> + <cmake.build.type/> </properties> <modules> <module>thrift</module> @@ -114,8 +114,8 @@ <thrift.make.executable>make</thrift.make.executable> <thrift.compiler.executable>thrift.exe</thrift.compiler.executable> <gradlew.executable>gradlew.bat</gradlew.executable> - <boost.include.dir /> - <boost.library.dir /> + <boost.include.dir/> + <boost.library.dir/> </properties> </profile> </profiles> diff --git a/distribution/pom.xml b/distribution/pom.xml index 3d0ae46..00c7f80 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -29,7 +29,7 @@ </parent> <artifactId>iotdb-distribution</artifactId> <name>IoTDB Distribution</name> - <modules /> + <modules/> <build> <plugins> <plugin> diff --git a/example/client-cpp-example/pom.xml b/example/client-cpp-example/pom.xml index 703609f..5d971dd 100644 --- a/example/client-cpp-example/pom.xml +++ b/example/client-cpp-example/pom.xml @@ -69,7 +69,7 @@ <properties> <cmake.generator>Visual Studio 16 2019</cmake.generator> <cmake.root.dir>${project.parent.basedir}/../compile-tools/thrift/target/cmake-${cmake-version}-win64-x64/</cmake.root.dir> - <boost.include.dir /> + <boost.include.dir/> </properties> </profile> <profile> diff --git a/example/udf/pom.xml b/example/udf/pom.xml index 20473e4..5d7e5bd 100644 --- a/example/udf/pom.xml +++ b/example/udf/pom.xml @@ -77,7 +77,7 @@ <importOrder> <order>org.apache.iotdb,,javax,java,\#</order> </importOrder> - <removeUnusedImports /> + <removeUnusedImports/> </java> </configuration> <executions> diff --git a/grafana/pom.xml b/grafana/pom.xml index 5fe1de2..e42020a 100644 --- a/grafana/pom.xml +++ b/grafana/pom.xml @@ -170,7 +170,7 @@ <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/spring.schemas</resource> </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" /> + <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>${start-class}</mainClass> </transformer> diff --git a/jdbc/pom.xml b/jdbc/pom.xml index 360c659..d8c68ad 100644 --- a/jdbc/pom.xml +++ b/jdbc/pom.xml @@ -198,7 +198,7 @@ </goals> </pluginExecutionFilter> <action> - <ignore /> + <ignore/> </action> </pluginExecution> </pluginExecutions> diff --git a/pom.xml b/pom.xml index e149012..e201544 100644 --- a/pom.xml +++ b/pom.xml @@ -151,7 +151,7 @@ <sonar.junit.reportPaths>target/surefire-reports,target/failsafe-reports</sonar.junit.reportPaths> <!-- By default, the argLine is empty--> <gson.version>2.8.6</gson.version> - <argLine /> + <argLine/> <!-- whether enable compiling the cpp client--> <client-cpp>false</client-cpp> <!-- disable enforcer by default--> @@ -629,7 +629,7 @@ <importOrder> <order>org.apache.iotdb,,javax,java,\#</order> </importOrder> - <removeUnusedImports /> + <removeUnusedImports/> </java> </configuration> <executions> @@ -700,7 +700,7 @@ <phase>validate</phase> <configuration> <rules> - <dependencyConvergence /> + <dependencyConvergence/> </rules> </configuration> <goals> @@ -746,7 +746,7 @@ </requireJavaVersion> <!-- Disabled for now as it breaks the ability to build single modules --> <!--reactorModuleConvergence/--> - <banVulnerable implementation="org.sonatype.ossindex.maven.enforcer.BanVulnerableDependencies" /> + <banVulnerable implementation="org.sonatype.ossindex.maven.enforcer.BanVulnerableDependencies"/> </rules> </configuration> </execution> diff --git a/server/src/assembly/resources/conf/iotdb-engine.properties b/server/src/assembly/resources/conf/iotdb-engine.properties index b48899d..2826a9e 100644 --- a/server/src/assembly/resources/conf/iotdb-engine.properties +++ b/server/src/assembly/resources/conf/iotdb-engine.properties @@ -318,6 +318,9 @@ timestamp_precision=ms # Whether to start next compaction task automatically after finish one compaction task # enable_continuous_compaction=true +# Start compaction task at this delay, unit is ms +# compaction_interval=10000 + # Works when the compaction_strategy is LEVEL_COMPACTION. # The max seq file num of each level. # When the num of files in one level exceeds this, 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 0f78c64..31a72eb 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 @@ -380,6 +380,9 @@ public class IoTDBConfig { /** the max executing time of query in ms. */ private int queryTimeoutThreshold = 60000; + /** compaction interval in ms */ + private long compactionInterval = 10000; + /** Replace implementation class of JDBC service */ private String rpcImplClassName = TSServiceImpl.class.getName(); @@ -1373,6 +1376,14 @@ public class IoTDBConfig { this.mergeWriteThroughputMbPerSec = mergeWriteThroughputMbPerSec; } + public long getCompactionInterval() { + return compactionInterval; + } + + public void setCompactionInterval(long compactionInterval) { + this.compactionInterval = compactionInterval; + } + public boolean isEnableMemControl() { return enableMemControl; } 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 9daf409..f382b5d 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 @@ -479,6 +479,10 @@ public class IoTDBDescriptor { Long.parseLong( properties.getProperty( "merge_interval_sec", Long.toString(conf.getMergeIntervalSec())))); + conf.setCompactionInterval( + Long.parseLong( + properties.getProperty( + "compaction_interval", Long.toString(conf.getCompactionInterval())))); conf.setForceFullMerge( Boolean.parseBoolean( properties.getProperty( diff --git a/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionMergeTaskPoolManager.java b/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionMergeTaskPoolManager.java index 8461bd5..9f7ff5a 100644 --- a/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionMergeTaskPoolManager.java +++ b/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionMergeTaskPoolManager.java @@ -21,6 +21,7 @@ package org.apache.iotdb.db.engine.compaction; import org.apache.iotdb.db.concurrent.IoTDBThreadPoolFactory; import org.apache.iotdb.db.concurrent.ThreadName; +import org.apache.iotdb.db.conf.IoTDBConfig; import org.apache.iotdb.db.conf.IoTDBDescriptor; import org.apache.iotdb.db.service.IService; import org.apache.iotdb.db.service.ServiceType; @@ -55,6 +56,7 @@ public class CompactionMergeTaskPoolManager implements IService { new CompactionMergeTaskPoolManager(); private ScheduledExecutorService pool; private Map<String, Set<Future<Void>>> storageGroupTasks = new ConcurrentHashMap<>(); + private static final IoTDBConfig config = IoTDBDescriptor.getInstance().getConfig(); private static ConcurrentHashMap<String, Boolean> sgCompactionStatus = new ConcurrentHashMap<>(); @@ -188,7 +190,8 @@ public class CompactionMergeTaskPoolManager implements IService { } public void init(Runnable function) { - pool.scheduleWithFixedDelay(function, 1, 1, TimeUnit.SECONDS); + pool.scheduleWithFixedDelay( + function, 1000, config.getCompactionInterval(), TimeUnit.MILLISECONDS); } public synchronized void submitTask(StorageGroupCompactionTask storageGroupCompactionTask)
