Feedback
 
Did this article resolve your question/issue?

   

Your feedback is appreciated.

Please tell us how we can make this article more useful. Please provide us a way to contact you, should we need clarification on the feedback provided or if you need further assistance.

Characters Remaining: 1025

 


Article

OpenEdge ABL Sonic adapter hangs on send2 jms/impl/message-header.p at line 1616

« Go Back

Information

 
Article Number000092493
EnvironmentProduct: OpenEdge
Version: 11.5.1
OS: Windows
Other: OpenEdge ABL Sonic adapter
Question/Problem Description
OpenEdge ABL Sonic adapter hangs on send2 jms/impl/message-header.p at line 1616

OpenEdge clientConnect ABL process occasionally seems to hang while sending messages to a SonicMQ broker.

Once the issue occurs, users no longer have any control over the session and have to kill the process.

When the hang happens the generated protrace lists the ABL stack as:
--> send2 jms/impl/message-header.p at line 1616 (D:\ABS-AG\PROGRESS\OE\jms\impl\message-header.r)
 doSend jms/impl/session.p at line 2161 (D:\ABS-AG\PROGRESS\OE\jms\impl\session.r)
 sendToQueue jms/impl/session.p at line 1950 (D:\ABS-AG\PROGRESS\OE\jms\impl\session.r)
 ...

 
Steps to Reproduce
Clarifying Information
Error Message
Defect/Enhancement NumberDefect ADAS-4290
Cause
In the case of client connect to SonicMQ, the client ABL process occasionally hangs while sending a message to the sonicMQ broker. The real cause is that the SonicMQ broker is no longer available for connection for some reason.  The client can then use the next SonicMQ broker server/port in its client connection URL list to connect to. Although if that SonicMQ broker is also unavailable then the client process (the java adapter process) will hang waiting for the connection to succeed or TCP/IP to return a failure. 

Depending on the TCP/IP timeout value, if the target SonicMQ broker is down, it could take a while for TCP/IP to respond and this means that the adapter appears to hang.  Unfortunately the ABL adapter process has no way to set the Socket Connect Timeout property, so it defaults to 0 meaning it will try to reconnect to the SonicMQ broker indefinitely.

 
Resolution
None at this time. 
Workaround
Notes
Attachment 
Last Modified Date10/9/2019 10:51 AM