diff options
| author | Keith Wall <kwall@apache.org> | 2012-12-20 12:11:16 +0000 |
|---|---|---|
| committer | Keith Wall <kwall@apache.org> | 2012-12-20 12:11:16 +0000 |
| commit | 8b3e2ff50a93805881659f62d259a1b7cf02e457 (patch) | |
| tree | e319e8092fd4af9bd807012f2fe418ef8caf9091 /java | |
| parent | 7e577de7a0bd77c87f7b2c1961ec11b0f3b35502 (diff) | |
| download | qpid-python-8b3e2ff50a93805881659f62d259a1b7cf02e457.tar.gz | |
QPID-4503: Producer transaction timeout detection feature may produce spurious open/idle alerts and close client connections/sessions without good cause
Address second race condition: Transaction update time should be reset on session commit or session rollback
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1424427 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java')
| -rw-r--r-- | java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java | 3 | ||||
| -rw-r--r-- | java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java | 2 |
2 files changed, 5 insertions, 0 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java b/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java index 0826f182fd..3deff080d6 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java +++ b/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java @@ -959,6 +959,7 @@ public class AMQChannel implements AMQSessionModel, AsyncAutoCommitTransaction.F _txnCommits.incrementAndGet(); _txnStarts.incrementAndGet(); decrementOutstandingTxnsIfNecessary(); + _txnUpdateTime.set(0); } }); } @@ -968,6 +969,7 @@ public class AMQChannel implements AMQSessionModel, AsyncAutoCommitTransaction.F _txnCommits.incrementAndGet(); _txnStarts.incrementAndGet(); + _txnUpdateTime.set(0); decrementOutstandingTxnsIfNecessary(); } } @@ -1005,6 +1007,7 @@ public class AMQChannel implements AMQSessionModel, AsyncAutoCommitTransaction.F _txnRejects.incrementAndGet(); _txnStarts.incrementAndGet(); + _txnUpdateTime.set(0); decrementOutstandingTxnsIfNecessary(); } diff --git a/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java b/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java index 075ed2a87c..85a9433e91 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java +++ b/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java @@ -549,6 +549,7 @@ public class ServerSession extends Session _txnCommits.incrementAndGet(); _txnStarts.incrementAndGet(); + _txnUpdateTime.set(0); decrementOutstandingTxnsIfNecessary(); } @@ -558,6 +559,7 @@ public class ServerSession extends Session _txnRejects.incrementAndGet(); _txnStarts.incrementAndGet(); + _txnUpdateTime.set(0); decrementOutstandingTxnsIfNecessary(); } |
