You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by lq...@apache.org on 2017/05/22 16:22:45 UTC

[3/7] qpid-broker-j git commit: QPID-7795: [Java Broker] Ensure that a newly enqueued message that is flowed to disk does not immediately have meta-data reloaded (6.1/6.0)

QPID-7795: [Java Broker] Ensure that a newly enqueued message that is flowed to disk does not immediately have meta-data reloaded (6.1/6.0)

Cherry picked from QPID-7775 commit 8ae1d142b33edc91d4988c9f4b775026bb03acc4


Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/b1921921
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/b1921921
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/b1921921

Branch: refs/heads/6.1.x
Commit: b19219217d410f3d45bc356e8e1113d6a16229ea
Parents: c42f158
Author: Keith Wall <ke...@gmail.com>
Authored: Thu May 18 18:17:38 2017 +0100
Committer: Lorenz Quack <lq...@apache.org>
Committed: Mon May 22 16:17:32 2017 +0100

----------------------------------------------------------------------
 .../org/apache/qpid/server/protocol/v0_10/ServerSession.java     | 4 +++-
 .../org/apache/qpid/server/protocol/v1_0/ReceivingLink_1_0.java  | 4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/b1921921/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerSession.java
----------------------------------------------------------------------
diff --git a/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerSession.java b/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerSession.java
index 8afa6aa..c4fe42c 100644
--- a/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerSession.java
+++ b/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerSession.java
@@ -293,11 +293,13 @@ public class ServerSession extends Session
             _outstandingCredit.addAndGet(PRODUCER_CREDIT_TOPUP_THRESHOLD);
             invoke(new MessageFlow("",MessageCreditUnit.MESSAGE, PRODUCER_CREDIT_TOPUP_THRESHOLD));
         }
+        // locally cache arrival time to ensure that we don't reload metadata
+        final long arrivalTime = message.getArrivalTime();
         int enqueues = exchange.send(message,
                                      message.getInitialRoutingAddress(),
                                      instanceProperties, _transaction, _checkCapacityAction
                                     );
-        getAMQPConnection().registerMessageReceived(message.getSize(), message.getArrivalTime());
+        getAMQPConnection().registerMessageReceived(message.getSize(), arrivalTime);
         incrementOutstandingTxnsIfNecessary();
         incrementUncommittedMessageSize(message.getStoredMessage());
         return enqueues;

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/b1921921/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ReceivingLink_1_0.java
----------------------------------------------------------------------
diff --git a/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ReceivingLink_1_0.java b/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ReceivingLink_1_0.java
index a621221..2774977 100644
--- a/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ReceivingLink_1_0.java
+++ b/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ReceivingLink_1_0.java
@@ -198,6 +198,8 @@ public class ReceivingLink_1_0 implements ReceivingLinkListener, Link_1_0, Deliv
                 try
                 {
                     Session_1_0 session = getSession();
+                    // locally cache arrival time to ensure that we don't reload metadata
+                    final long arrivalTime = message.getArrivalTime();
 
                     session.getAMQPConnection()
                             .checkAuthorizedMessagePrincipal(message.getMessageHeader().getUserId());
@@ -232,7 +234,7 @@ public class ReceivingLink_1_0 implements ReceivingLinkListener, Link_1_0, Deliv
                     getEndpoint().updateDisposition(deliveryTag, resultantState, settled);
 
                     getSession().getAMQPConnection()
-                            .registerMessageReceived(message.getSize(), message.getArrivalTime());
+                            .registerMessageReceived(message.getSize(), arrivalTime);
 
                     if (!(transaction instanceof AutoCommitTransaction))
                     {


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