You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ha...@apache.org on 2022/05/30 10:12:24 UTC
[iotdb] 01/01: [To rel/0.12][IOTDB-3306] Use rpc port check to avoid starting same IoTDB twice
This is an automated email from the ASF dual-hosted git repository.
haonan pushed a commit to branch IOTDB-3306-12
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 243ec3038e89d21d274e03908efe20728789bc51
Author: HTHou <hh...@outlook.com>
AuthorDate: Mon May 30 18:12:11 2022 +0800
[To rel/0.12][IOTDB-3306] Use rpc port check to avoid starting same IoTDB twice
---
.../iotdb/db/engine/storagegroup/TsFileProcessor.java | 2 +-
.../main/java/org/apache/iotdb/db/service/IoTDB.java | 9 ++++-----
.../iotdb/db/service/thrift/ThriftServiceThread.java | 18 +-----------------
3 files changed, 6 insertions(+), 23 deletions(-)
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java
index 859ece653c..d473c36406 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java
@@ -818,7 +818,7 @@ public class TsFileProcessor {
MemTableFlushTask flushTask =
new MemTableFlushTask(memTableToFlush, writer, storageGroupName);
flushTask.syncFlushMemTable();
- } catch (Exception e) {
+ } catch (Throwable e) {
if (writer == null) {
logger.info(
"{}: {} is closed during flush, abandon flush task",
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 a35f70bd0a..c43c7b2f16 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
@@ -106,6 +106,10 @@ public class IoTDB implements IoTDBMBean {
Runtime.getRuntime().addShutdownHook(new IoTDBShutdownHook());
setUncaughtExceptionHandler();
+ // in cluster mode, RPC service is not enabled.
+ if (IoTDBDescriptor.getInstance().getConfig().isEnableRpcService()) {
+ registerManager.register(RPCService.getInstance());
+ }
logger.info("recover the schema...");
initMManager();
registerManager.register(JMXService.getInstance());
@@ -121,11 +125,6 @@ public class IoTDB implements IoTDBMBean {
registerManager.register(UDFClassLoaderManager.getInstance());
registerManager.register(UDFRegistrationService.getInstance());
- // in cluster mode, RPC service is not enabled.
- if (IoTDBDescriptor.getInstance().getConfig().isEnableRpcService()) {
- registerManager.register(RPCService.getInstance());
- }
-
if (IoTDBDescriptor.getInstance().getConfig().isEnableMetricService()) {
registerManager.register(MetricsService.getInstance());
}
diff --git a/server/src/main/java/org/apache/iotdb/db/service/thrift/ThriftServiceThread.java b/server/src/main/java/org/apache/iotdb/db/service/thrift/ThriftServiceThread.java
index 612d187195..c928cc6bf7 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/thrift/ThriftServiceThread.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/thrift/ThriftServiceThread.java
@@ -108,23 +108,7 @@ public class ThriftServiceThread extends Thread {
@SuppressWarnings("java:S2259")
public TServerTransport openTransport(String bindAddress, int port) throws TTransportException {
- int maxRetry = 5;
- long retryIntervalMS = 5000;
- TTransportException lastExp = null;
- for (int i = 0; i < maxRetry; i++) {
- try {
- return new TServerSocket(new InetSocketAddress(bindAddress, port));
- } catch (TTransportException e) {
- lastExp = e;
- try {
- Thread.sleep(retryIntervalMS);
- } catch (InterruptedException interruptedException) {
- Thread.currentThread().interrupt();
- break;
- }
- }
- }
- throw lastExp;
+ return new TServerSocket(new InetSocketAddress(bindAddress, port));
}
public void setThreadStopLatch(CountDownLatch threadStopLatch) {