Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Won't Fix
-
2.4.2AS
-
None
Description
It appears that under heavy network load UIMA-AS is getting "Wire format negotiation timeout" Exception when opening a connection to a broker.
The client side of AMQ is sending a frame containing its parameters to the server (broker). It reconciles clients params against its own and sends a reply back to the client. The reply apparently never reaches the client causing the timer to pop (default=10secs) and an exception is thrown.
Attempt to extend the client timeout via wireFormat.maxInactivityDurationInitalDelay=60000 doesnt fix the problem. One possible explanation is that either the client wire format frame is not reaching the server or the server's reply doesnt reach the client. This may be due to a lost TCP packet.
Since the low level amq wire negotiation doesnt offer retry, the UIMA-AS may need implement a higher level retry around the connection open() logic. It should capture generic JMSException and check the associated description for "wire format ..." problem. In such case, the connection should be closed and reopened.