You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ja...@apache.org on 2022/04/14 08:43:44 UTC
[iotdb] branch ty-mpp updated: add mpp_mode configuration
This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch ty-mpp
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/ty-mpp by this push:
new 014536af0f add mpp_mode configuration
014536af0f is described below
commit 014536af0f0c01b0f8df73f6c96a352148b701f7
Author: JackieTien97 <ja...@gmail.com>
AuthorDate: Thu Apr 14 16:43:31 2022 +0800
add mpp_mode configuration
---
server/src/assembly/resources/conf/iotdb-engine.properties | 4 ++--
.../src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java | 11 +++++++++++
.../main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java | 5 +++--
server/src/main/java/org/apache/iotdb/db/service/IoTDB.java | 12 ++++++++++++
4 files changed, 28 insertions(+), 4 deletions(-)
diff --git a/server/src/assembly/resources/conf/iotdb-engine.properties b/server/src/assembly/resources/conf/iotdb-engine.properties
index c3b4f4fe2e..0b010a452d 100644
--- a/server/src/assembly/resources/conf/iotdb-engine.properties
+++ b/server/src/assembly/resources/conf/iotdb-engine.properties
@@ -27,8 +27,8 @@ rpc_address=0.0.0.0
# Datatype: int
rpc_port=6667
-# Client RPC Service Impl Class Name: TSServiceImpl or DataNodeTSIServiceImpl
-# rpc_class_name=TSServiceImpl
+# whether start data node in mpp mode
+# mpp_mode=false
# Datatype: int
mpp_port=7777
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 5a87a42625..efacc1ca93 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
@@ -507,6 +507,9 @@ public class IoTDBConfig {
/** Replace implementation class of JDBC service */
private String rpcImplClassName = TSServiceImpl.class.getName();
+ /** indicate whether current mode is mpp */
+ private boolean mppMode = false;
+
/** Replace implementation class of influxdb protocol service */
private String influxdbImplClassName = InfluxDBServiceImpl.class.getName();
@@ -2795,4 +2798,12 @@ public class IoTDBConfig {
public void setDataBlockManagerKeepAliveTimeInMs(int dataBlockManagerKeepAliveTimeInMs) {
this.dataBlockManagerKeepAliveTimeInMs = dataBlockManagerKeepAliveTimeInMs;
}
+
+ public boolean isMppMode() {
+ return mppMode;
+ }
+
+ public void setMppMode(boolean mppMode) {
+ this.mppMode = mppMode;
+ }
}
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 1eeab2bfd4..259ff7f370 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
@@ -167,8 +167,9 @@ public class IoTDBDescriptor {
Integer.parseInt(
properties.getProperty("rpc_port", Integer.toString(conf.getRpcPort()))));
- conf.setRpcImplClassName(
- properties.getProperty("rpc_class_name", conf.getRpcImplClassName()).trim());
+ conf.setMppMode(
+ Boolean.parseBoolean(
+ properties.getProperty("mpp_mode", Boolean.toString(conf.isMppMode()))));
conf.setMppPort(
Integer.parseInt(
diff --git a/server/src/main/java/org/apache/iotdb/db/service/IoTDB.java b/server/src/main/java/org/apache/iotdb/db/service/IoTDB.java
index f8c8839444..ea34ae40da 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/IoTDB.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/IoTDB.java
@@ -38,6 +38,8 @@ import org.apache.iotdb.db.engine.trigger.service.TriggerRegistrationService;
import org.apache.iotdb.db.exception.query.QueryProcessException;
import org.apache.iotdb.db.metadata.LocalConfigNode;
import org.apache.iotdb.db.metadata.LocalSchemaProcessor;
+import org.apache.iotdb.db.mpp.buffer.DataBlockService;
+import org.apache.iotdb.db.mpp.schedule.FragmentInstanceScheduler;
import org.apache.iotdb.db.protocol.influxdb.meta.InfluxDBMetaManager;
import org.apache.iotdb.db.protocol.rest.RestService;
import org.apache.iotdb.db.query.udf.service.TemporaryQueryDataFileService;
@@ -48,6 +50,7 @@ import org.apache.iotdb.db.rescon.SystemInfo;
import org.apache.iotdb.db.service.basic.ServiceProvider;
import org.apache.iotdb.db.service.basic.StandaloneServiceProvider;
import org.apache.iotdb.db.service.metrics.MetricsService;
+import org.apache.iotdb.db.service.thrift.impl.DataNodeTSIServiceImpl;
import org.apache.iotdb.db.sync.receiver.ReceiverService;
import org.apache.iotdb.db.sync.sender.service.SenderService;
import org.apache.iotdb.db.wal.WALManager;
@@ -143,6 +146,15 @@ public class IoTDB implements IoTDBMBean {
registerManager.register(ReceiverService.getInstance());
registerManager.register(MetricsService.getInstance());
+ // in mpp mode we need to start some other services
+ if (IoTDBDescriptor.getInstance().getConfig().isMppMode()) {
+ registerManager.register(DataBlockService.getInstance());
+ registerManager.register(FragmentInstanceScheduler.getInstance());
+ IoTDBDescriptor.getInstance()
+ .getConfig()
+ .setRpcImplClassName(DataNodeTSIServiceImpl.class.getName());
+ }
+
// in cluster mode, RPC service is not enabled.
if (IoTDBDescriptor.getInstance().getConfig().isEnableRpcService()) {
registerManager.register(RPCService.getInstance());