You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2020/12/10 08:50:03 UTC

[iotdb] branch rel/0.11 updated: [To rel/0.11] add max frame size configuration (#2215)

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

qiaojialin pushed a commit to branch rel/0.11
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/rel/0.11 by this push:
     new 8971ffc  [To rel/0.11] add max frame size configuration (#2215)
8971ffc is described below

commit 8971ffcdead4963045bd3e36742918e97fe9d35c
Author: HouliangQi <ne...@163.com>
AuthorDate: Thu Dec 10 16:49:49 2020 +0800

    [To rel/0.11] add max frame size configuration (#2215)
---
 server/src/assembly/resources/conf/iotdb-engine.properties     |  8 +++++++-
 server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java |  2 +-
 .../src/main/java/org/apache/iotdb/db/service/RPCService.java  | 10 ++++++----
 .../apache/iotdb/db/service/thrift/ThriftServiceThread.java    |  8 ++++----
 .../org/apache/iotdb/db/sync/receiver/SyncServerManager.java   |  4 +++-
 5 files changed, 21 insertions(+), 11 deletions(-)

diff --git a/server/src/assembly/resources/conf/iotdb-engine.properties b/server/src/assembly/resources/conf/iotdb-engine.properties
index beec276..3cf1302 100644
--- a/server/src/assembly/resources/conf/iotdb-engine.properties
+++ b/server/src/assembly/resources/conf/iotdb-engine.properties
@@ -39,6 +39,12 @@ rpc_thrift_compression_enable=false
 
 rpc_max_concurrent_client_num=65535
 
+# thrift max frame size, 64MB by default
+thrift_max_frame_size=67108864
+
+# thrift init buffer size, the default is 1KB.
+thrift_init_buffer_size=1024
+
 ####################
 ### Write Ahead Log Configuration
 ####################
@@ -578,4 +584,4 @@ authorizer_provider_class=org.apache.iotdb.db.auth.authorizer.LocalFileAuthorize
 
 #If OpenIdAuthorizer is enabled, then openID_url must be set.
 
-#openID_url=
+#openID_url=
\ No newline at end of file
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 19ccf5d..5582a96 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
@@ -735,7 +735,7 @@ public class IoTDBConfig {
   private long startUpNanosecond = System.nanoTime();
 
   /**
-   * thrift max frame size, the default is 15MB, we change it to 64MB
+   * thrift max frame size, the default is 16384000 bytes, we change it to 64MB
    */
   private int thriftMaxFrameSize = 67108864;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/service/RPCService.java b/server/src/main/java/org/apache/iotdb/db/service/RPCService.java
index 73646e3..555c8a0 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/RPCService.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/RPCService.java
@@ -54,9 +54,9 @@ public class RPCService extends ThriftService implements RPCServiceMBean {
   @Override
   public void initTProcessor()
       throws ClassNotFoundException, IllegalAccessException, InstantiationException {
-      impl = (TSServiceImpl) Class.forName(IoTDBDescriptor.getInstance().getConfig()
-          .getRpcImplClassName()).newInstance();
-      processor = new Processor<>(impl);
+    impl = (TSServiceImpl) Class.forName(IoTDBDescriptor.getInstance().getConfig()
+        .getRpcImplClassName()).newInstance();
+    processor = new Processor<>(impl);
   }
 
   @Override
@@ -69,7 +69,9 @@ public class RPCService extends ThriftService implements RPCServiceMBean {
           config.getRpcAddress(), config.getRpcPort(), config.getRpcMaxConcurrentClientNum(),
           config.getThriftServerAwaitTimeForStopService(),
           new RPCServiceThriftHandler(impl),
-          IoTDBDescriptor.getInstance().getConfig().isRpcThriftCompressionEnable());
+          config.isRpcThriftCompressionEnable(),
+          config.getThriftInitBufferSize(),
+          config.getThriftMaxFrameSize());
     } catch (RPCServiceException e) {
       throw new IllegalAccessException(e.getMessage());
     }
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 463a119..d4340ad 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
@@ -51,10 +51,10 @@ public class ThriftServiceThread extends Thread {
   private TThreadPoolServer.Args poolArgs;
 
   @SuppressWarnings("squid:S107")
-  public ThriftServiceThread(TProcessor processor, String serviceName,
-      String threadsName,
+  public ThriftServiceThread(TProcessor processor, String serviceName, String threadsName,
       String bindAddress, int port, int maxWorkerThreads, int timeoutMs,
-      TServerEventHandler serverEventHandler, boolean compress) {
+      TServerEventHandler serverEventHandler, boolean compress, int initialCapacity,
+      int maxLength) {
     if (compress) {
       protocolFactory = new TCompactProtocol.Factory();
     } else {
@@ -72,7 +72,7 @@ public class ThriftServiceThread extends Thread {
           threadsName);
       poolArgs.processor(processor);
       poolArgs.protocolFactory(protocolFactory);
-      poolArgs.transportFactory(new TFastFramedTransport.Factory());
+      poolArgs.transportFactory(new TFastFramedTransport.Factory(initialCapacity, maxLength));
       poolServer = new TThreadPoolServer(poolArgs);
       poolServer.setServerEventHandler(serverEventHandler);
     } catch (TTransportException e) {
diff --git a/server/src/main/java/org/apache/iotdb/db/sync/receiver/SyncServerManager.java b/server/src/main/java/org/apache/iotdb/db/sync/receiver/SyncServerManager.java
index 88d3046..285543e 100644
--- a/server/src/main/java/org/apache/iotdb/db/sync/receiver/SyncServerManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/sync/receiver/SyncServerManager.java
@@ -74,7 +74,9 @@ public class SyncServerManager  extends ThriftService implements SyncServerManag
         config.getRpcAddress(), config.getSyncServerPort(),
         Integer.MAX_VALUE, config.getThriftServerAwaitTimeForStopService(),
         new SyncServerThriftHandler(serviceImpl),
-        config.isRpcThriftCompressionEnable()
+        config.isRpcThriftCompressionEnable(),
+        config.getThriftInitBufferSize(),
+        config.getThriftMaxFrameSize()
         );
     thriftServiceThread.setName(ThreadName.SYNC_SERVER.getName());
   }