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