qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gordon Sim <g...@redhat.com>
Subject Re: 0-10 Session Close and Failover
Date Thu, 05 Aug 2010 07:41:33 GMT
On 08/04/2010 10:25 PM, Andrew Kennedy wrote:
> On 3 Aug 2010, at 21:52, Rajith Attapattu wrote:
>> On Tue, Aug 3, 2010 at 11:37 AM, Andrew Kennedy
>> <andrewinternational@gmail.com> wrote:
>>> Can you elaborate on what the issue is, as I didn't see any of the cpp
>>> profile tests failing?
>> The java-cpp-cluster test profile was hanging due to your checkin,
>> since a non zero timeout causes stale sessions to interfere with
>> proper failover.
>> Alan Conway made a commit at rev 981933 to ignore non zero timeouts,
>> so that issue is now gone.
>> So now there is no real hurry to backout the change.

What's there is actually wrong for the clients perspective as well 
however, as my understanding is that the client does not attempt to 
correctly resume the session either. (From Rafi's earlier comment: "I'm 
just saying that the client never does frame replay and so should never 
advertise a non-zero session timeout.").

The fix to the broker to refuse to accept the non-zero timeout doesn't 
help anyone trying to use the client from trunk against an older broker. 
I know of at least one person trying to do this, so I'd like to get a 
fix promptly.

Any objections if I commit the patch below?

As far as I can see it will not result in any difference on the client 
side (it doesn't alter the value of the expiry variable) and given the 
recent change to the broker won't affect the broker on trunk either 
(which will assume a timeout of 0 regardless of the requested value).

Index: java/common/src/main/java/org/apache/qpid/transport/Session.java
--- java/common/src/main/java/org/apache/qpid/transport/Session.java 
(revision 982137)
+++ java/common/src/main/java/org/apache/qpid/transport/Session.java 
(working copy)
@@ -237,7 +237,7 @@
-        sessionRequestTimeout(expiry);
+        sessionRequestTimeout(0);//use expiry here only if/when session 
resume is supported

      void resume()

Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org

View raw message