You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2015/07/28 19:37:58 UTC

svn commit: r1693137 - in /qpid/java/trunk: bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/ broker-core/src/main/java/org/apache/qpid/server/store/ broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ b...

Author: rgodfrey
Date: Tue Jul 28 17:37:57 2015
New Revision: 1693137

URL: http://svn.apache.org/r1693137
Log:
QPID-6662 : [Java Broker] AMQP 1.0 code should also allocate direct buffers

Modified:
    qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java
    qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJDBCMessageStore.java
    qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageConverter_v0_10.java
    qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/amqp_1_0/framing/FrameHandler.java
    qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/amqp_1_0/framing/SASLFrameHandler.java
    qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0.java
    qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ConsumerTarget_1_0.java
    qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_to_1_0.java
    qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaData_1_0.java
    qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/TxnCoordinatorLink_1_0.java
    qpid/java/trunk/broker-plugins/amqp-msg-conv-0-8-to-0-10/src/main/java/org/apache/qpid/server/protocol/converter/v0_8_v0_10/MessageConverter_0_8_to_0_10.java

Modified: qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java?rev=1693137&r1=1693136&r2=1693137&view=diff
==============================================================================
--- qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java (original)
+++ qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java Tue Jul 28 17:37:57 2015
@@ -85,6 +85,7 @@ public abstract class AbstractBDBMessage
     private static final String BRIDGEDB_NAME = "BRIDGES";
     private static final String LINKDB_NAME = "LINKS";
     private static final String XID_DB_NAME = "XIDS";
+    private static final ByteBuffer EMPTY_BYTE_BUFFER = ByteBuffer.allocateDirect(0);
 
     private final EventManager _eventManager = new EventManager();
 
@@ -1127,7 +1128,7 @@ public abstract class AbstractBDBMessage
                 AbstractBDBMessageStore.this.storeMetaData(txn, _messageId, _messageDataRef.getMetaData());
                 AbstractBDBMessageStore.this.addContent(txn, _messageId, 0,
                                                         _messageDataRef.getData() == null
-                                                                ? ByteBuffer.allocate(0)
+                                                                ? EMPTY_BYTE_BUFFER
                                                                 : _messageDataRef.getData());
 
 

Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJDBCMessageStore.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJDBCMessageStore.java?rev=1693137&r1=1693136&r2=1693137&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJDBCMessageStore.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJDBCMessageStore.java Tue Jul 28 17:37:57 2015
@@ -74,6 +74,7 @@ public abstract class AbstractJDBCMessag
                                                                                                   XID_TABLE_NAME, XID_ACTIONS_TABLE_NAME));
 
     private static final int DB_VERSION = 8;
+    private static final ByteBuffer EMPTY_BYTE_BUFFER = ByteBuffer.allocateDirect(0);
 
     private final AtomicLong _messageId = new AtomicLong(0);
 
@@ -1718,9 +1719,9 @@ public abstract class AbstractJDBCMessag
             {
                 storeMetaData(conn, _messageId, _messageDataRef.getMetaData());
                 AbstractJDBCMessageStore.this.addContent(conn, _messageId,
-                                                               _messageDataRef.getData() == null
-                                                                       ? ByteBuffer.allocateDirect(0)
-                                                                       : _messageDataRef.getData());
+                                                         _messageDataRef.getData() == null
+                                                                 ? EMPTY_BYTE_BUFFER
+                                                                 : _messageDataRef.getData());
 
 
                 getLogger().debug("Storing message {} to store", _messageId);

Modified: qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageConverter_v0_10.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageConverter_v0_10.java?rev=1693137&r1=1693136&r2=1693137&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageConverter_v0_10.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageConverter_v0_10.java Tue Jul 28 17:37:57 2015
@@ -120,10 +120,6 @@ public class MessageConverter_v0_10 impl
         MessageProperties messageProps = new MessageProperties();
 
         int size = (int) serverMsg.getSize();
-        ByteBuffer body = ByteBuffer.allocate(size);
-        serverMsg.getContent(body, 0);
-        body.flip();
-
 
         deliveryProps.setExpiration(serverMsg.getExpiration());
         deliveryProps.setPriority(MessageDeliveryPriority.get(serverMsg.getMessageHeader().getPriority()));

Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/amqp_1_0/framing/FrameHandler.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/amqp_1_0/framing/FrameHandler.java?rev=1693137&r1=1693136&r2=1693137&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/amqp_1_0/framing/FrameHandler.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/amqp_1_0/framing/FrameHandler.java Tue Jul 28 17:37:57 2015
@@ -135,7 +135,7 @@ public class FrameHandler implements Pro
 
                     if(in.remaining() < size-4)
                     {
-                        _buffer = ByteBuffer.allocate(size-4);
+                        _buffer = ByteBuffer.allocateDirect(size-4);
                         _buffer.put(in);
                         state = State.BUFFERING;
                         break;
@@ -231,7 +231,7 @@ public class FrameHandler implements Pro
                         {
                             if(val instanceof Transfer)
                             {
-                                ByteBuffer buf = ByteBuffer.allocate(in.remaining());
+                                ByteBuffer buf = ByteBuffer.allocateDirect(in.remaining());
                                 buf.put(in);
                                 buf.flip();
                                 ((Transfer)val).setPayload(buf);

Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/amqp_1_0/framing/SASLFrameHandler.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/amqp_1_0/framing/SASLFrameHandler.java?rev=1693137&r1=1693136&r2=1693137&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/amqp_1_0/framing/SASLFrameHandler.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/amqp_1_0/framing/SASLFrameHandler.java Tue Jul 28 17:37:57 2015
@@ -133,7 +133,7 @@ public class SASLFrameHandler implements
 
                     if(in.remaining() < size-4)
                     {
-                        _buffer = ByteBuffer.allocate(size-4);
+                        _buffer = ByteBuffer.allocateDirect(size-4);
                         _buffer.put(in);
                         state = State.BUFFERING;
                         break;

Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0.java?rev=1693137&r1=1693136&r2=1693137&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0.java Tue Jul 28 17:37:57 2015
@@ -531,7 +531,7 @@ public class AMQPConnection_1_0 extends
 
             _frameWriter.setValue(amqFrame);
 
-            ByteBuffer dup = ByteBuffer.allocate(_endpoint.getMaxFrameSize());
+            ByteBuffer dup = ByteBuffer.allocateDirect(_endpoint.getMaxFrameSize());
 
             int size = _frameWriter.writeToBuffer(dup);
             if (size > _endpoint.getMaxFrameSize())

Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ConsumerTarget_1_0.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ConsumerTarget_1_0.java?rev=1693137&r1=1693136&r2=1693137&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ConsumerTarget_1_0.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ConsumerTarget_1_0.java Tue Jul 28 17:37:57 2015
@@ -153,7 +153,7 @@ class ConsumerTarget_1_0 extends Abstrac
                 size += fragment.remaining();
             }
 
-            payload = ByteBuffer.allocate(size);
+            payload = ByteBuffer.allocateDirect(size);
 
             for(ByteBuffer fragment : fragments)
             {
@@ -201,7 +201,7 @@ class ConsumerTarget_1_0 extends Abstrac
             Binary encodedHeader = _sectionEncoder.getEncoding();
 
             ByteBuffer oldPayload = payload;
-            payload = ByteBuffer.allocate(oldPayload.remaining() + encodedHeader.getLength());
+            payload = ByteBuffer.allocateDirect(oldPayload.remaining() + encodedHeader.getLength());
             payload.put(encodedHeader.getArray(),encodedHeader.getArrayOffset(),encodedHeader.getLength());
             payload.put(oldPayload);
             payload.flip();

Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_to_1_0.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_to_1_0.java?rev=1693137&r1=1693136&r2=1693137&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_to_1_0.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_to_1_0.java Tue Jul 28 17:37:57 2015
@@ -295,7 +295,7 @@ public abstract class MessageConverter_t
         sectionEncoder.encodeObject(bodySection);
         Binary dataEncoding = sectionEncoder.getEncoding();
 
-        final ByteBuffer allData = ByteBuffer.allocate(headerSize + dataEncoding.getLength());
+        final ByteBuffer allData = ByteBuffer.allocateDirect(headerSize + dataEncoding.getLength());
         metaData.writeToBuffer(allData);
         allData.put(dataEncoding.getArray(),dataEncoding.getArrayOffset(),dataEncoding.getLength());
         return allData;

Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaData_1_0.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaData_1_0.java?rev=1693137&r1=1693136&r2=1693137&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaData_1_0.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaData_1_0.java Tue Jul 28 17:37:57 2015
@@ -177,7 +177,7 @@ public class MessageMetaData_1_0 impleme
             {
                 size += buf.remaining();
             }
-            src = ByteBuffer.allocate(size);
+            src = ByteBuffer.allocateDirect(size);
             for(ByteBuffer buf : fragments)
             {
                 src.put(buf.duplicate());
@@ -325,7 +325,7 @@ public class MessageMetaData_1_0 impleme
 
     private ByteBuffer encodeAsBuffer()
     {
-        ByteBuffer buf = ByteBuffer.allocate(getStorableSize());
+        ByteBuffer buf = ByteBuffer.allocateDirect(getStorableSize());
 
         for(ByteBuffer bin : _encodedSections)
         {

Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/TxnCoordinatorLink_1_0.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/TxnCoordinatorLink_1_0.java?rev=1693137&r1=1693136&r2=1693137&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/TxnCoordinatorLink_1_0.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/TxnCoordinatorLink_1_0.java Tue Jul 28 17:37:57 2015
@@ -100,7 +100,7 @@ public class TxnCoordinatorLink_1_0 impl
             {
                 size += t.getPayload().limit();
             }
-            payload = ByteBuffer.allocate(size);
+            payload = ByteBuffer.allocateDirect(size);
             for(Transfer t : _incompleteMessage)
             {
                 payload.put(t.getPayload().duplicate());

Modified: qpid/java/trunk/broker-plugins/amqp-msg-conv-0-8-to-0-10/src/main/java/org/apache/qpid/server/protocol/converter/v0_8_v0_10/MessageConverter_0_8_to_0_10.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-msg-conv-0-8-to-0-10/src/main/java/org/apache/qpid/server/protocol/converter/v0_8_v0_10/MessageConverter_0_8_to_0_10.java?rev=1693137&r1=1693136&r2=1693137&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-msg-conv-0-8-to-0-10/src/main/java/org/apache/qpid/server/protocol/converter/v0_8_v0_10/MessageConverter_0_8_to_0_10.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-msg-conv-0-8-to-0-10/src/main/java/org/apache/qpid/server/protocol/converter/v0_8_v0_10/MessageConverter_0_8_to_0_10.java Tue Jul 28 17:37:57 2015
@@ -118,9 +118,6 @@ public class MessageConverter_0_8_to_0_1
         MessageProperties messageProps = new MessageProperties();
 
         int size = (int) message_0_8.getSize();
-        ByteBuffer body = ByteBuffer.allocate(size);
-        message_0_8.getContent(body, 0);
-        body.flip();
 
         BasicContentHeaderProperties properties =
                   message_0_8.getContentHeaderBody().getProperties();



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