diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServer.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServer.java index ee4acfb..d8fa2bb 100644 --- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServer.java +++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServer.java @@ -201,10 +201,10 @@ public class ThriftServer { // Set general thrift server options boolean compact = cmd.hasOption(COMPACT_OPTION) || - conf.getBoolean(ThriftServerRunner.COMPACT_CONF_KEY, false); + conf.getBoolean(ThriftServerRunner.COMPACT_CONF_KEY, true); conf.setBoolean(ThriftServerRunner.COMPACT_CONF_KEY, compact); boolean framed = cmd.hasOption(FRAMED_OPTION) || - conf.getBoolean(ThriftServerRunner.FRAMED_CONF_KEY, false); + conf.getBoolean(ThriftServerRunner.FRAMED_CONF_KEY, true); conf.setBoolean(ThriftServerRunner.FRAMED_CONF_KEY, framed); if (cmd.hasOption(BIND_OPTION)) { conf.set( diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java index 67a9b3c..5733fff 100644 --- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java +++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java @@ -116,6 +116,7 @@ public class ThriftServerRunner implements Runnable { static final String BIND_CONF_KEY = "hbase.regionserver.thrift.ipaddress"; static final String COMPACT_CONF_KEY = "hbase.regionserver.thrift.compact"; static final String FRAMED_CONF_KEY = "hbase.regionserver.thrift.framed"; + static final String MAX_FRAME_SIZE_CONF_KEY = "hbase.regionserver.thrift.framed.max_frame_size_in_mb"; static final String PORT_CONF_KEY = "hbase.regionserver.thrift.port"; static final String COALESCE_INC_KEY = "hbase.regionserver.thrift.coalesceIncrement"; @@ -281,7 +282,7 @@ public class ThriftServerRunner implements Runnable { // Construct correct TransportFactory TTransportFactory transportFactory; if (conf.getBoolean(FRAMED_CONF_KEY, false) || implType.isAlwaysFramed) { - transportFactory = new TFramedTransport.Factory(); + transportFactory = new TFramedTransport.Factory(conf.getInt(MAX_FRAME_SIZE_CONF_KEY, 2) * 1024 * 1024); LOG.debug("Using framed transport"); } else { transportFactory = new TTransportFactory(); diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftServer.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftServer.java index cbd636c..dfeb803 100644 --- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftServer.java +++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftServer.java @@ -125,10 +125,10 @@ public class ThriftServer { } } - private static TTransportFactory getTTransportFactory(boolean framed) { + private static TTransportFactory getTTransportFactory(boolean framed, int frameSize) { if (framed) { log.debug("Using framed transport"); - return new TFramedTransport.Factory(); + return new TFramedTransport.Factory(frameSize); } else { return new TTransportFactory(); } @@ -265,7 +265,7 @@ public class ThriftServer { // Construct correct ProtocolFactory boolean compact = cmd.hasOption("compact") || - conf.getBoolean("hbase.regionserver.thrift.compact", false); + conf.getBoolean("hbase.regionserver.thrift.compact", true); TProtocolFactory protocolFactory = getTProtocolFactory(compact); THBaseService.Iface handler = ThriftHBaseServiceHandler.newInstance(conf, metrics); @@ -273,8 +273,9 @@ public class ThriftServer { conf.setBoolean("hbase.regionserver.thrift.compact", compact); boolean framed = cmd.hasOption("framed") || - conf.getBoolean("hbase.regionserver.thrift.framed", false) || nonblocking || hsha; - TTransportFactory transportFactory = getTTransportFactory(framed); + conf.getBoolean("hbase.regionserver.thrift.framed", true) || nonblocking || hsha; + TTransportFactory transportFactory = getTTransportFactory(framed, + conf.getInt("hbase.regionserver.thrift.framed.max_frame_size_in_mb", 2) * 1024 * 1024); InetSocketAddress inetSocketAddress = bindToPort(cmd.getOptionValue("bind"), listenPort); conf.setBoolean("hbase.regionserver.thrift.framed", framed);