summaryrefslogtreecommitdiff
path: root/qpid/java
diff options
context:
space:
mode:
authorKeith Wall <kwall@apache.org>2012-12-20 12:11:16 +0000
committerKeith Wall <kwall@apache.org>2012-12-20 12:11:16 +0000
commit3d38c76035469160b929e5bf84f217577642d5d2 (patch)
tree20f1c48e58fb7b358f6efeed70663152a060f6e6 /qpid/java
parent62888eb19bba6bb2180a2860624de78c04d7c0bd (diff)
downloadqpid-python-3d38c76035469160b929e5bf84f217577642d5d2.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@1424427 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java3
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java2
2 files changed, 5 insertions, 0 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java
index 0826f182fd..3deff080d6 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java
+++ b/qpid/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/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java
index 075ed2a87c..85a9433e91 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java
+++ b/qpid/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();
}