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 <[email protected]> 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) {
