Posted: Fri Sep 21, 2007 4:12 am Post subject: MQJE001 / 2009 error Java 1.5 + WS2003 + TCP Offload/Chimney
Newbie
Joined: 25 Oct 2006 Posts: 5
We had communication problems in Windows 2003 which has SNP (Scalable Networking Pack) installed. SNP enables TCP Offload Engine (http://en.wikipedia.org/wiki/TCP_Offload_Engine) by default if the NIC supports it. The NIC was Broadcom NetXtreme II BCM 5708 C with a driver version 3.0.5.0 .
The problem occurs only with Java 1.5.x, not in Java 1.4.x . (this might be because of the different way Java uses the underlying OS socket library)
The TOE support is buggy with this NIC driver version. It causes this kind of error in the tracing log:
WrapperSimpleAppMain, Object: com.ibm.mq.MQv6InternalCommunications@12366215 Exception:
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:197)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:229)
This turns in to this error in client code:
com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2009
at com.ibm.mq.MQQueue.get(MQQueue.java:1033)
All java sockets have this problem which have TCP SO_TIMEOUT (socket timeout) enabled.
The workaround is to disable TCP Chimney / TOE in Windows 2003 server.
This can be done from command line:
netsh int ip set chimney DISABLED
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum