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