----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/16411/#review30746 -----------------------------------------------------------
Ship it! Ship It! - Gordon Sim On Dec. 20, 2013, 2:50 p.m., Alan Conway wrote: > > ----------------------------------------------------------- > 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. > > > Bugs: QPID-5431 > https://issues.apache.org/jira/browse/QPID-5431 > > > Repository: qpid > > > Description > ------- > > 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 > ----- > > /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 > >
