-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: qpid-cpp-1.38.0
-
Fix Version/s: qpid-cpp-1.39.0
-
Component/s: C++ Client
-
Labels:
-
Environment:
- qpid-cpp 1.38 c++ client/broker
- AMQP 0-10
- RHEL 7.5
-
Flags:Patch
I have a problem with qpid-cpp C++ clients stuck on the open connection call while reconnecting with the broker. It is a rare event, sometimes takes weeks or months to happen. But when it occurs, I have to manually restart the client process in order to re-establish the broker connection.
I have summarized the details of this issue in this mailing list post: http://qpid.2158936.n2.nabble.com/Open-connection-to-broker-waits-forever-td7678381.html
Attached is a patch (qpidcpp_client_connect_timeout.patch) to add a timeout to qpid-cpp client's open connection call. A new option called "connect-timeout" can be used to specify how long to wait for the connection::open call in seconds. When the "connect-timeout" is set, qpid-cpp client calls "waitFor" with a timeout.
I have tested it in my environment, and it seems to be able to time out properly when the open call gets stuck.