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

jackietien 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 1c64fdea7c9 Make it easier for users to extend ClientRPCServiceImpl to 
export more rpc services
1c64fdea7c9 is described below

commit 1c64fdea7c9121c7ee9e27a6ef672573dd84f063
Author: Jackie Tien <[email protected]>
AuthorDate: Wed May 28 11:47:34 2025 +0800

    Make it easier for users to extend ClientRPCServiceImpl to export more rpc 
services
---
 .../main/java/org/apache/iotdb/db/service/DataNode.java | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/DataNode.java 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/DataNode.java
index b15c3590beb..714edde57c2 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/DataNode.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/DataNode.java
@@ -178,7 +178,6 @@ public class DataNode extends ServerCommandLine implements 
DataNodeMBean {
     DataNodeHolder.INSTANCE = this;
   }
 
-  // TODO: This needs removal of statics ...
   public static void reinitializeStatics() {
     registerManager = new RegisterManager();
     DataNodeSystemPropertiesHandler.getInstance()
@@ -781,8 +780,8 @@ public class DataNode extends ServerCommandLine implements 
DataNodeMBean {
 
   /** Set up RPC and protocols after DataNode is available */
   private void setUpRPCService() throws StartupException {
-    // Start InternalRPCService to indicate that the current DataNode can 
accept cluster scheduling
-    registerManager.register(DataNodeInternalRPCService.getInstance());
+
+    registerInternalRPCService();
 
     // Notice: During the period between starting the internal RPC service
     // and starting the client RPC service , some requests may fail because
@@ -791,7 +790,7 @@ public class DataNode extends ServerCommandLine implements 
DataNodeMBean {
     // Start client RPCService to indicate that the current DataNode provide 
external services
     IoTDBDescriptor.getInstance()
         .getConfig()
-        .setRpcImplClassName(ClientRPCServiceImpl.class.getName());
+        .setRpcImplClassName(getClientRPCServiceImplClassName());
     if (config.isEnableRpcService()) {
       registerManager.register(ExternalRPCService.getInstance());
     }
@@ -799,6 +798,16 @@ public class DataNode extends ServerCommandLine implements 
DataNodeMBean {
     initProtocols();
   }
 
+  protected void registerInternalRPCService() throws StartupException {
+    // Start InternalRPCService to indicate that the current DataNode can 
accept cluster scheduling
+    registerManager.register(DataNodeInternalRPCService.getInstance());
+  }
+
+  // make it easier for users to extend ClientRPCServiceImpl to export more 
rpc services
+  protected String getClientRPCServiceImplClassName() {
+    return ClientRPCServiceImpl.class.getName();
+  }
+
   private void setUpMetricService() throws StartupException {
     
MetricConfigDescriptor.getInstance().getMetricConfig().setNodeId(config.getDataNodeId());
     registerManager.register(MetricService.getInstance());

Reply via email to