You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2015/09/07 15:52:57 UTC

svn commit: r1701625 - in /qpid/java/trunk: broker-core/src/main/java/org/apache/qpid/server/model/ broker-core/src/main/java/org/apache/qpid/server/model/adapter/ broker-core/src/main/java/org/apache/qpid/server/transport/ test-profiles/

Author: orudyy
Date: Mon Sep  7 13:52:56 2015
New Revision: 1701625

URL: http://svn.apache.org/r1701625
Log:
QPID-6727: [Java Broker] change default network buffer size to 256kB and move QpidByteBuffer pool creation to BrokerAdapter

work by Lorenz Quack <qu...@gmail.com> and Alex Rudyy <or...@apache.org>

Modified:
    qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java
    qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
    qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingConnectionPlainDelegate.java
    qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingConnectionTLSDelegate.java
    qpid/java/trunk/test-profiles/Java010Excludes

Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java?rev=1701625&r1=1701624&r2=1701625&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java Mon Sep  7 13:52:56 2015
@@ -62,17 +62,10 @@ public interface Broker<X extends Broker
     String QPID_JMX_PORT  = "qpid.jmx_port";
 
     String NETWORK_BUFFER_SIZE = "qpid.broker.networkBufferSize";
-    // network buffer should at least hold a SSL/TLS frame which consists of
-    //     5 bytes SSLv3 record header
-    //   256 bytes of IV
-    // 16384 bytes (2^14 bytes) of data
-    //   256 bytes for block cipher padding
-    //    20 bytes for trailer SHA1 hash size
-    // 16384 bytes (2^14 bytes) of extra for large data packets
-    // 33305 bytes in TOTAL
-    int MINIMUM_NETWORK_BUFFER_SIZE = 33305;
+    // network buffer should at least hold a SSL/TLS frame which in jdk1.8 is 33305 bytes
+    int MINIMUM_NETWORK_BUFFER_SIZE = 64 * 1024;
     @ManagedContextDefault(name = NETWORK_BUFFER_SIZE)
-    int DEFAULT_NETWORK_BUFFER_SIZE = 64 * 1024;
+    int DEFAULT_NETWORK_BUFFER_SIZE = 256 * 1024;
 
     @ManagedContextDefault(name = "broker.name")
     String DEFAULT_BROKER_NAME = "Broker";

Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java?rev=1701625&r1=1701624&r2=1701625&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java Mon Sep  7 13:52:56 2015
@@ -41,6 +41,7 @@ import com.sun.management.HotSpotDiagnos
 import com.sun.management.VMOption;
 import org.apache.qpid.server.logging.QpidLoggerTurboFilter;
 import org.apache.qpid.server.logging.StartupAppender;
+import org.apache.qpid.server.util.QpidByteBufferUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -166,10 +167,9 @@ public class BrokerAdapter extends Abstr
     }
 
     @Override
-    protected void postResolveChildren()
+    protected void postResolve()
     {
-        super.postResolveChildren();
-
+        super.postResolve();
         Integer networkBufferSize = getContextValue(Integer.class, NETWORK_BUFFER_SIZE);
         if (networkBufferSize == null || networkBufferSize < MINIMUM_NETWORK_BUFFER_SIZE)
         {
@@ -177,6 +177,13 @@ public class BrokerAdapter extends Abstr
                     networkBufferSize + "'. Must be larger than " + MINIMUM_NETWORK_BUFFER_SIZE + ".");
         }
         _networkBufferSize = networkBufferSize;
+        QpidByteBufferUtils.createPool(this, _networkBufferSize);
+    }
+
+    @Override
+    protected void postResolveChildren()
+    {
+        super.postResolveChildren();
 
         ch.qos.logback.classic.Logger rootLogger =
                 (ch.qos.logback.classic.Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);

Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingConnectionPlainDelegate.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingConnectionPlainDelegate.java?rev=1701625&r1=1701624&r2=1701625&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingConnectionPlainDelegate.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingConnectionPlainDelegate.java Mon Sep  7 13:52:56 2015
@@ -43,7 +43,6 @@ public class NonBlockingConnectionPlainD
     {
         _parent = parent;
         _networkBufferSize = port.getNetworkBufferSize();
-        QpidByteBufferUtils.createPool(port, _networkBufferSize);
         _netInputBuffer = QpidByteBuffer.allocateDirect(_networkBufferSize);
     }
 

Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingConnectionTLSDelegate.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingConnectionTLSDelegate.java?rev=1701625&r1=1701624&r2=1701625&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingConnectionTLSDelegate.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/NonBlockingConnectionTLSDelegate.java Mon Sep  7 13:52:56 2015
@@ -46,7 +46,6 @@ public class NonBlockingConnectionTLSDel
 
     private final SSLEngine _sslEngine;
     private final NonBlockingConnection _parent;
-    private final int _initialApplicationBufferSize;
     private final int _networkBufferSize;
     private SSLEngineResult _status;
     private final List<QpidByteBuffer> _encryptedOutput = new ArrayList<>();
@@ -70,12 +69,8 @@ public class NonBlockingConnectionTLSDel
                     + ") is greater then broker network buffer size (" + _networkBufferSize + ")");
         }
 
-        QpidByteBufferUtils.createPool(port, _networkBufferSize);
         _netInputBuffer = QpidByteBuffer.allocateDirect(_networkBufferSize);
-        _initialApplicationBufferSize = Math.max(_sslEngine.getSession().getApplicationBufferSize() + 50, _networkBufferSize);
-
-        QpidByteBufferUtils.createPool(port, _initialApplicationBufferSize);
-        _applicationBuffer = QpidByteBuffer.allocateDirect(_initialApplicationBufferSize);
+        _applicationBuffer = QpidByteBuffer.allocateDirect(_networkBufferSize);
     }
 
     @Override
@@ -179,9 +174,9 @@ public class NonBlockingConnectionTLSDel
         else
         {
             QpidByteBuffer currentBuffer = _applicationBuffer;
-            int newBufSize = (currentBuffer.capacity() < _initialApplicationBufferSize)
-                    ? _initialApplicationBufferSize
-                    : currentBuffer.capacity() + _initialApplicationBufferSize;
+            int newBufSize = (currentBuffer.capacity() < _networkBufferSize)
+                    ? _networkBufferSize
+                    : currentBuffer.capacity() + _networkBufferSize;
 
             _applicationBuffer = QpidByteBuffer.allocateDirect(newBufSize);
             _applicationBuffer.put(currentBuffer);

Modified: qpid/java/trunk/test-profiles/Java010Excludes
URL: http://svn.apache.org/viewvc/qpid/java/trunk/test-profiles/Java010Excludes?rev=1701625&r1=1701624&r2=1701625&view=diff
==============================================================================
--- qpid/java/trunk/test-profiles/Java010Excludes (original)
+++ qpid/java/trunk/test-profiles/Java010Excludes Mon Sep  7 13:52:56 2015
@@ -81,3 +81,5 @@ org.apache.qpid.client.SyncPublishTest#*
 org.apache.qpid.client.failover.FailoverBehaviourTest#testConnectionCloseInterruptsFailover
 org.apache.qpid.client.failover.AddressBasedFailoverBehaviourTest#testConnectionCloseInterruptsFailover
 
+// This test does not make sense because on 0-10 maxFrameSize is 64kB and the Java Broker sets the networkBufferSize to a minimum of 64kB.
+org.apache.qpid.transport.MaxFrameSizeTest#testTooLargeFrameSize



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org