| Summary: | Java client mishandles tcp_nodelay when specified as part of the broker URL | ||
|---|---|---|---|
| Product: | Red Hat Enterprise MRG | Reporter: | Justin Ross <jross> |
| Component: | qpid-java | Assignee: | Rajith Attapattu <rattapat+nobody> |
| Status: | CLOSED ERRATA | QA Contact: | ppecka <ppecka> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 2.0 | CC: | jneedle, ppecka, zkraus |
| Target Milestone: | 2.1.2 | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | qpid-java-0.14-1.el5 | Doc Type: | Bug Fix |
| Doc Text: |
Cause: JMS client incorrectly defaults to false when tcp_nodelay property is incorrectly specified in the connection URL.
Consequence: The JMS client TCP-NODELAY setting defaults to false (Should be true).
Fix: The code now use true as the default value when trying to parse the connection URL.
Result: The client defaults to true even if there is any error in the connection URL.
|
Story Points: | --- |
| Clone Of: | Environment: | ||
| Last Closed: | 2012-04-30 17:53:25 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Bug Depends On: | |||
| Bug Blocks: | 753238, 783492 | ||
|
Description
Justin Ross
2011-12-07 20:33:50 UTC
Fixed upstream at http://svn.apache.org/viewvc?view=rev&rev=1211611 Rajith, please provide verification steps. The upstream fix has two consequences: 1. it logs the state of the tcp_nodelay setting, and 2. it alters the handling of boolean properties in connection urls. As for verification. The client now defaults to tcp_nodelay=true if the user incorrectly specifies the value in the connection URL. We also log the value of tcp_nodelay. Verification is via visual inspection in debug mode. Verified on RHEL5, RHEL6: except message is logged on "info" level 2012-02-12 20:12:30 info Set TCP_NODELAY on connection to [::1]:56647 # rpm -qa | grep qpid qpid-tests-0.14-1.el6.noarch rh-qpid-cpp-tests-0.14-6.el6.x86_64 qpid-java-common-0.14-1.el6.noarch qpid-tools-0.14-1.el6.noarch qpid-cpp-server-0.14-6.el6.x86_64 qpid-cpp-server-ssl-0.14-6.el6.x86_64 qpid-cpp-client-devel-docs-0.14-6.el6.noarch qpid-jca-0.14-7.el6.noarch qpid-cpp-client-0.14-6.el6.x86_64 qpid-cpp-client-ssl-0.14-6.el6.x86_64 qpid-qmf-0.14-3.el6.x86_64 qpid-cpp-server-rdma-0.14-6.el6.x86_64 qpid-cpp-server-store-0.14-6.el6.x86_64 ruby-qpid-0.7.946106-2.el6.x86_64 qpid-java-client-0.14-1.el6.noarch python-qpid-qmf-0.14-3.el6.x86_64 qpid-cpp-server-cluster-0.14-6.el6.x86_64 qpid-cpp-server-devel-0.14-6.el6.x86_64 ruby-qpid-qmf-0.14-3.el6.x86_64 qpid-cpp-client-devel-0.14-6.el6.x86_64 qpid-qmf-devel-0.14-3.el6.x86_64 qpid-cpp-debuginfo-0.14-6.el6.x86_64 qpid-java-example-0.14-1.el6.noarch qpid-cpp-client-rdma-0.14-6.el6.x86_64 python-qpid-0.14-3.el6.noarch fence-virtd-libvirt-qpid-0.2.3-5.el6.x86_64 qpid-cpp-server-xml-0.14-6.el6.x86_64
Technical note added. If any revisions are required, please edit the "Technical Notes" field
accordingly. All revisions will be proofread by the Engineering Content Services team.
New Contents:
Cause: JMS client incorrectly defaults to false when tcp_nodelay property is incorrectly specified in the connection URL.
Consequence: The JMS client TCP-NODELAY setting defaults to false (Should be true).
Fix: The code now use true as the default value when trying to parse the connection URL.
Result: The client defaults to true even if there is any error in the connection URL.
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/RHSA-2012-0529.html |