Bug 896570
| Summary: | retries parameter ignored for the very first broker | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise MRG | Reporter: | Pavel Moravec <pmoravec> | ||||||||
| Component: | qpid-java | Assignee: | Rajith Attapattu <rattapat+nobody> | ||||||||
| Status: | CLOSED ERRATA | QA Contact: | Ernie <eallen> | ||||||||
| Severity: | medium | Docs Contact: | |||||||||
| Priority: | medium | ||||||||||
| Version: | 2.2 | CC: | eallen, jross, lzhaldyb, sauchter | ||||||||
| Target Milestone: | 3.0 | Keywords: | Patch | ||||||||
| Target Release: | --- | ||||||||||
| Hardware: | All | ||||||||||
| OS: | Linux | ||||||||||
| Whiteboard: | |||||||||||
| Fixed In Version: | qpid-java-0.22-1.el5, qpid-java-0.22-2.el6 | Doc Type: | Bug Fix | ||||||||
| Doc Text: |
It was discovered that when the current broker details were not set, the _serverRetries parameter was set to zero. This caused the Java client failover to not attempt to retry after the very first connection loss to the broker it was already connected to. The fix sets the current broker details in the constructor, which ensures the retry parameter is honored on the first broker when set.
|
Story Points: | --- | ||||||||
| Clone Of: | Environment: | ||||||||||
| Last Closed: | 2014-09-24 15:05:18 UTC | Type: | Bug | ||||||||
| Regression: | --- | Mount Type: | --- | ||||||||
| Documentation: | --- | CRM: | |||||||||
| Verified Versions: | Category: | --- | |||||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||||
| Embargoed: | |||||||||||
| Attachments: |
|
||||||||||
|
Description
Pavel Moravec
2013-01-17 14:46:56 UTC
Created attachment 687306 [details]
Simple patch proposal
Constructor of FailoverRoundRobinServers class misses calling setBroker method that sets up variables like _serverRetries.
http://svn.apache.org/r1456131 Applied Pavel's patch. Created attachment 777888 [details]
Reproducer
Creates connectionlist with 3 brokers with appropriate timeout/connection values.
Keeps connection open by creating consumer and calling receive with no timeout.
To use, start brokers on ports 5681, 5682, and 5683
Created attachment 777889 [details]
Renamed reproducer
Verified on rhel 6.4 32/64 qpid-java-client-0.22-4.el6.noarch qpid-java-common-0.22-4.el6.noarch qpid-java-example-0.22-4.el6.noarch Java client applies retries, connectdelay and connecttimeout options on 1st broker in the connection brokerlist. Reproduced on rhel 6.4 64 qpid-java-client-0.18-7.el6.noarch qpid-java-example-0.18-7.el6.noarch qpid-java-common-0.18-7.el6.noarch 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/RHEA-2014-1296.html |