-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16411/
-----------------------------------------------------------

(Updated Dec. 20, 2013, 2:50 p.m.)


Review request for qpid and Gordon Sim.


Changes
-------

Avoid double reset(), alternative to Gordon's suggestion.

I think this is a simpler fix, check the diff r1 r2. If checkDisconnected 
returns true then we know that reset() has already been called so no need to 
call it in check()' Do you see any flaws?


Summary (updated)
-----------------

Avoid double reset(), alternative to Gordon's suggestion.


Bugs: QPID-5431
    https://issues.apache.org/jira/browse/QPID-5431


Repository: qpid


Description (updated)
-------

Avoid double reset(), alternative to Gordon's suggestion.

I think this is a simpler fix, check the diff r1 r2. If checkDisconnected 
returns true then we know that reset() has already been called so no need to 
call it in check()' Do you see any flaws?


QPID-5431: Qpid c++ client hangs / crashes during reception failover in HA 
environment (mutual recursion)

Bug in AMQP 1.0 retry code caused an infinite recursion when failing over.
The recursion was in messaging::amqp::ConnectionContext, where the following
recursive cycle could occur:
 
check()->autoconnect()->tryConnect(Url)->tryConnect(Address)->wait()->check()->...

Re-organized the code to avoid the recursion, specifically avoid calling check()
in tryConnect(Address). A disconnect detected in tryConnect results in 
continuing
the retry rather than calling autoconnect again.


Diffs (updated)
-----

  /trunk/qpid/cpp/examples/messaging/drain.cpp 1552476 
  /trunk/qpid/cpp/src/qpid/ha/BrokerReplicator.cpp 1552476 
  /trunk/qpid/cpp/src/qpid/messaging/amqp/ConnectionContext.h 1552476 
  /trunk/qpid/cpp/src/qpid/messaging/amqp/ConnectionContext.cpp 1552476 

Diff: https://reviews.apache.org/r/16411/diff/


Testing
-------

Bug reproducer, full make test.


Thanks,

Alan Conway

Reply via email to