Bug 1044002 - setting heartbeat has no effect on connection establishment timeout
Summary: setting heartbeat has no effect on connection establishment timeout
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: python-qpid
Version: 2.3
Hardware: Unspecified
OS: Unspecified
medium
unspecified
Target Milestone: 2.4.4
: ---
Assignee: Alan Conway
QA Contact: Leonid Zhaldybin
URL:
Whiteboard:
Depends On:
Blocks: 1044003
TreeView+ depends on / blocked
 
Reported: 2013-12-17 15:26 UTC by Gordon Sim
Modified: 2014-11-09 22:39 UTC (History)
5 users (show)

Fixed In Version: python-qpid-0.18-6
Doc Type: Bug Fix
Doc Text:
Cause: During connection set-up by the python client, the heartbeat setting was ignored. (It was respected once the connection was established.) Consequence: Connecting to an unresponsive process could block for an unlimited time. Fix: Respect heartbeats during connection set-up. Result: With heartbeat configured, an attempt to connect will abort after two heartbeat intervals have elapsed if not successful.
Clone Of:
: 1044003 (view as bug list)
Environment:
Last Closed: 2014-02-11 08:29:24 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Apache JIRA QPID-5428 0 None None None Never
Red Hat Product Errata RHBA-2014:0130 0 normal SHIPPED_LIVE Red Hat Enterprise MRG Messaging 2 update 2014-02-11 13:27:57 UTC

Description Gordon Sim 2013-12-17 15:26:06 UTC
Description of problem:

The python client only uses heartbeats once the connection has been established. It does not use them to time out the initial connect attempt.

E.g. modify drain to use a 5sec heartbeat, start a broker, run drain -f amq.direct and then kill -STOP the broker - heartbeats are missed and connection times out as expected.

But now try to reconnect to the hung broker, and the connect attempt will not timeout.

Version-Release number of selected component (if applicable):

2.3 and before as well as 3.0 early access

How reproducible:

100%

Steps to Reproduce:
1. modify drain to use a 5sec heartbeat
2. start a broker
3. drain -f amq.direct
4. kill -STOP the broker
5. restart drain -f amq.direct

Actual results:

heartbeat times out the drain in step 3 but not in step 5, where it hangs

Expected results:

In both step 3 and 5 drain exits with timeout after 10 seconds

Additional info:

Comment 1 Alan Conway 2014-01-09 22:48:50 UTC
Fixed on http://git.app.eng.bos.redhat.com/rh-qpid.git/log/?h=0.18-mrg-aconway-bz1044002

(Note branch with incorrect name 0.18-mrg-aconway-bz1044003 pushed by mistake, deletion prohibited.)

Comment 4 Leonid Zhaldybin 2014-02-04 13:14:24 UTC
Tested on RHEL5.10 and RHEL6.5 (both i386 and x86_64). This issue has been fixed.

Packages used for testing:

RHEL5.10
python-qpid-0.18-9.el5_10
python-qpid-qmf-0.18-20.el5_10
qpid-cpp-client-0.18-20.el5_10
qpid-cpp-client-devel-0.18-20.el5_10
qpid-cpp-client-devel-docs-0.18-20.el5_10
qpid-cpp-client-rdma-0.18-20.el5_10
qpid-cpp-client-ssl-0.18-20.el5_10
qpid-cpp-server-0.18-20.el5_10
qpid-cpp-server-cluster-0.18-20.el5_10
qpid-cpp-server-devel-0.18-20.el5_10
qpid-cpp-server-ha-0.18-20.el5_10
qpid-cpp-server-rdma-0.18-20.el5_10
qpid-cpp-server-ssl-0.18-20.el5_10
qpid-cpp-server-store-0.18-20.el5_10
qpid-cpp-server-xml-0.18-20.el5_10
qpid-java-client-0.18-8.el5_9
qpid-java-common-0.18-8.el5_9
qpid-java-example-0.18-8.el5_9
qpid-jca-0.18-8.el5
qpid-jca-xarecovery-0.18-8.el5
qpid-jca-zip-0.18-8.el5
qpid-qmf-0.18-20.el5_10
qpid-qmf-devel-0.18-20.el5_10
qpid-tests-0.18-2.el5
qpid-tools-0.18-10.el5_9
rh-qpid-cpp-tests-0.18-20.el5_10
ruby-qpid-qmf-0.18-20.el5_10

RHEL6.5
python-qpid-0.18-9.el6.noarch
python-qpid-qmf-0.18-20.el6.i686
qpid-cpp-client-0.18-20.el6.i686
qpid-cpp-client-devel-0.18-20.el6.i686
qpid-cpp-client-devel-docs-0.18-20.el6.noarch
qpid-cpp-client-rdma-0.18-20.el6.i686
qpid-cpp-client-ssl-0.18-20.el6.i686
qpid-cpp-server-0.18-20.el6.i686
qpid-cpp-server-cluster-0.18-20.el6.i686
qpid-cpp-server-devel-0.18-20.el6.i686
qpid-cpp-server-ha-0.18-20.el6.i686
qpid-cpp-server-rdma-0.18-20.el6.i686
qpid-cpp-server-ssl-0.18-20.el6.i686
qpid-cpp-server-store-0.18-20.el6.i686
qpid-cpp-server-xml-0.18-20.el6.i686
qpid-java-client-0.18-8.el6_4.noarch
qpid-java-common-0.18-8.el6_4.noarch
qpid-java-example-0.18-8.el6_4.noarch
qpid-jca-0.18-8.el6.noarch
qpid-jca-xarecovery-0.18-8.el6.noarch
qpid-jca-zip-0.18-8.el6.noarch
qpid-qmf-0.18-20.el6.i686
qpid-qmf-devel-0.18-20.el6.i686
qpid-tests-0.18-2.el6.noarch
qpid-tools-0.18-10.el6_4.noarch
rh-qpid-cpp-tests-0.18-20.el6.i686
ruby-qpid-qmf-0.18-20.el6.i686

-> VERIFIED

Comment 6 errata-xmlrpc 2014-02-11 08:29:24 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2014-0130.html


Note You need to log in before you can comment on or make changes to this bug.