diff options
| author | Alan Conway <aconway@apache.org> | 2013-12-20 15:06:35 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2013-12-20 15:06:35 +0000 |
| commit | 829b44f73e0825f838099af4b683b1f744c0e2aa (patch) | |
| tree | 50123bc073572ab16794cb5213fba18ab2b3c86c /qpid/cpp/examples/messaging/spout.cpp | |
| parent | f87fbe5b1f0441c1066be6db0836097eda48b02c (diff) | |
| download | qpid-python-829b44f73e0825f838099af4b683b1f744c0e2aa.tar.gz | |
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.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1552698 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/examples/messaging/spout.cpp')
0 files changed, 0 insertions, 0 deletions
