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 | 44297255a2a408dbb9114395467da6384b9bc012 (patch) | |
| tree | 816864465f3fc26d13ed24f2c7d3efb031c5e487 /cpp/include | |
| parent | d4e584e5eccec83d3fd7bab55cf2e163967c852a (diff) | |
| download | qpid-python-44297255a2a408dbb9114395467da6384b9bc012.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/qpid@1552698 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/include')
0 files changed, 0 insertions, 0 deletions
