Bug 809357

Summary: "qpid-perftest.exe" and "qpid-latency-test.exe" fail with option "--tcp-nodelay" on Windows
Product: Red Hat Enterprise MRG Reporter: Petra Svobodová <psvobodo>
Component: qpid-cppAssignee: Cliff Jansen <cjansen>
Status: CLOSED ERRATA QA Contact: Petra Svobodová <psvobodo>
Severity: medium Docs Contact:
Priority: high    
Version: DevelopmentCC: freznice, iboverma, jross, mcressma, pematous
Target Milestone: 2.2   
Target Release: ---   
Hardware: Unspecified   
OS: Windows   
Whiteboard:
Fixed In Version: qpid-cpp-win-3.1.0.1 (qpid-cpp-0.14-19) Doc Type: Bug Fix
Doc Text:
The Windows specific code for Socket::setTcpNoDelay tries to set the property before the connection is open, resulting in an exception. The fix remembers the request and delays its operation until after the socket is open (which matches the Posix implementation).
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-09-19 17:20:51 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:
Bug Depends On:    
Bug Blocks: 781560    

Description Petra Svobodová 2012-04-03 07:55:37 UTC
Description of problem:

Applications "qpid-perftest.exe" and "qpid-latency-test.exe" with option "--tcp-nodelay" exit with error messages; see the command line transcript below, please:

C:\qpid_VS2008\bin\Release>qpid-perftest.exe -b <broker_IP_address> --count 100 --tcp-nodelay
An operation was attempted on something that is not a socket.  (..\..\qpid\cpp\s
rc\qpid\sys\windows\Socket.cpp:279)

C:\qpid_VS2008\bin\Release>qpid-latency-test.exe -b 10.34.37.202 --tcp-nodelay
An operation was attempted on something that is not a socket.  (..\..\qpid\cpp\s
rc\qpid\sys\windows\Socket.cpp:279)


Version-Release number of selected component (if applicable):
qpid-cpp-win-3.0.0.2-1


How reproducible:
100%

Steps to Reproduce:
1. Unpack the package.
2. Run "qpid-perftest.exe" or "qpid-latency-test.exe".

  
Actual results:
"qpid-perftest.exe" and "qpid-latency-test.exe" exit with exception.


Expected results:
"qpid-perftest.exe" and "qpid-latency-test.exe" should run without exceptions.

Comment 1 Cliff Jansen 2012-05-18 03:21:31 UTC
Fix applied upstream r1339927.

see https://issues.apache.org/jira/browse/QPID-4008

Comment 7 Petra Svobodová 2012-07-27 13:14:09 UTC
Tools "qpid-perftest.exe" and "qpid-latency-test.exe" work with "--tcp-nodelay" option now; this exception did not occur.

Verified on packages qpid-cpp-win-3.1.0.1-1 on Windows platforms:
- XP-x86 and x64
- 7-x86 and x64
- Server2003-x86 and x64
- Server2008-x86 and x64
- Server2008 R2

--> VERIFIED

Comment 8 Cliff Jansen 2012-08-14 17:39:08 UTC
    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:
The Windows specific code for Socket::setTcpNoDelay tries to set the property before the connection is open, resulting in an exception.  

The fix remembers the request and delays its operation until after the socket is open (which matches the Posix implementation).

Comment 10 errata-xmlrpc 2012-09-19 17:20:51 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/RHSA-2012-1277.html

Comment 11 Red Hat Bugzilla 2013-10-04 00:14:18 UTC
Removing external tracker bug with the id '4008' as it is not valid for this tracker