Author: kwall
Date: Thu Dec 20 12:11:16 2012
New Revision: 1424427

URL: http://svn.apache.org/viewvc?rev=1424427&view=rev
Log:
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

Modified:
    
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java
    
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java

Modified: 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java?rev=1424427&r1=1424426&r2=1424427&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java
 (original)
+++ 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java
 Thu Dec 20 12:11:16 2012
@@ -959,6 +959,7 @@ public class AMQChannel implements AMQSe
                     _txnCommits.incrementAndGet();
                     _txnStarts.incrementAndGet();
                     decrementOutstandingTxnsIfNecessary();
+                    _txnUpdateTime.set(0);
                 }
             });
         }
@@ -968,6 +969,7 @@ public class AMQChannel implements AMQSe
 
             _txnCommits.incrementAndGet();
             _txnStarts.incrementAndGet();
+            _txnUpdateTime.set(0);
             decrementOutstandingTxnsIfNecessary();
         }
     }
@@ -1005,6 +1007,7 @@ public class AMQChannel implements AMQSe
 
             _txnRejects.incrementAndGet();
             _txnStarts.incrementAndGet();
+            _txnUpdateTime.set(0);
             decrementOutstandingTxnsIfNecessary();
         }
 

Modified: 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java?rev=1424427&r1=1424426&r2=1424427&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java
 (original)
+++ 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java
 Thu Dec 20 12:11:16 2012
@@ -549,6 +549,7 @@ public class ServerSession extends Sessi
 
         _txnCommits.incrementAndGet();
         _txnStarts.incrementAndGet();
+        _txnUpdateTime.set(0);
         decrementOutstandingTxnsIfNecessary();
     }
 
@@ -558,6 +559,7 @@ public class ServerSession extends Sessi
 
         _txnRejects.incrementAndGet();
         _txnStarts.incrementAndGet();
+        _txnUpdateTime.set(0);
         decrementOutstandingTxnsIfNecessary();
     }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to