diff options
| author | Alan Conway <aconway@apache.org> | 2014-01-09 22:30:26 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2014-01-09 22:30:26 +0000 |
| commit | 1bbac3489bb654963ba8629a5f3194e7ea56b23c (patch) | |
| tree | 689c91aa4181a73cf85a0b029b99e5f41dc4616c /qpid/python/qpid-python-test | |
| parent | 105190c196b37637c6f1eb8d7081457c4bd67716 (diff) | |
| download | qpid-python-1bbac3489bb654963ba8629a5f3194e7ea56b23c.tar.gz | |
QPID-5428: Heartbeats not in use when attempting to connect with python client.
Heartbeats ignored when opening a connection, could hang indefinitely
Need to cover 3 cases (test included):
- Connect sucessful but then broker stalls.
- Connect to a stalled broker that never responds.
- Fail-over to a stalled broker that never responds
All cases are handled by the following fixes to driver.py:
- Check for heartbeats even before engine._connected since we may time out
before receiving open-ok if the peer is stalled and never sends data.
- Set _last_in and _last_out so that we time heartbeats from the start of the
connection if no data is ever sent or received.
- Call self.update_status in Driver.timeout to detect connection closed due to
heartbeat timeout (rather than a readable or writeable event.)
Make update_status a no-op if engine or transport are not yet set up.
- Don't consider reconnect complete in connect(), wait till we get the open-ok.
See the comment on Driver._check_retry_ok()
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1556971 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/python/qpid-python-test')
0 files changed, 0 insertions, 0 deletions
