Quantcast

acceptor does not get any message, including Heartbeat, when it is busy - the result is "Disconnecting: Timed out waiting for heartbeat "

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

acceptor does not get any message, including Heartbeat, when it is busy - the result is "Disconnecting: Timed out waiting for heartbeat "

Luba Zlatin
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/



 

 

The acceptor does not get any message, including Heartbeat, from the initiator when it is busy by processing another request (QuoteRequest, for example, I just put Thread.wait(120000) into onMessage(QuoteRequest order, SessionID sessionID) method), but the acceptor does send messages to the initiator. It sends TestRequest to the initiator, the initiator sends back Heartbeat with the TestReqID=TEST, but the acceptor does not get  it (because it is still busy) and closes the connection with the following warning in *.event.log:

Disconnecting: Timed out waiting for heartbeat

I have to mention that before the acceptor gets busy it has  got Heartbeat messages as usually. The same is true after it gets not busy.

This is also true for the initiator: when it is busy (Thread.wait(120000) into onMessage())  it does not get any message from the acceptor, including Heartbeat, which causes :

Disconnecting: Timed out waiting for heartbeat

 


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users

FIX.4.4-HAPOALIM_COUNTERPARTY-MODELITY_MARKET_PLACE.event.log (2K) Download Attachment
FIX.4.4-HAPOALIM_COUNTERPARTY-MODELITY_MARKET_PLACE.messages.log (5K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: acceptor does not get any message, including Heartbeat, when it is busy - the result is "Disconnecting: Timed out waiting for heartbeat "

Øyvind Matheson Wergeland
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/



Hi Luba,

This behavior is by design. The onMessage callback has to process the incoming messages quickly. If processing may take time, put the messages on a queue consumed by another thread. Note that QF/J will consider a message successfully received when onMessage returns, and will not re-request the message if processing fails at a later stage, so depending on your requirements, you may have to make the queue persistent.

 -Øyvind

Den 29. feb. 2016 kl. 06.32 skrev Luba Zlatin <[hidden email]>:

 

 

The acceptor does not get any message, including Heartbeat, from the initiator when it is busy by processing another request (QuoteRequest, for example, I just put Thread.wait(120000) into onMessage(QuoteRequest order, SessionID sessionID) method), but the acceptor does send messages to the initiator. It sends TestRequest to the initiator, the initiator sends back Heartbeat with the TestReqID=TEST, but the acceptor does not get  it (because it is still busy) and closes the connection with the following warning in *.event.log:

Disconnecting: Timed out waiting for heartbeat

I have to mention that before the acceptor gets busy it has  got Heartbeat messages as usually. The same is true after it gets not busy.

This is also true for the initiator: when it is busy (Thread.wait(120000) into onMessage())  it does not get any message from the acceptor, including Heartbeat, which causes :

Disconnecting: Timed out waiting for heartbeat

 

<FIX.4.4-HAPOALIM_COUNTERPARTY-MODELITY_MARKET_PLACE.event.log>
<FIX.4.4-HAPOALIM_COUNTERPARTY-MODELITY_MARKET_PLACE.messages.log>
------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: acceptor does not get any message, including Heartbeat, when it is busy - the result is "Disconnecting: Timed out waiting for heartbeat "

Luba Zlatin
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Thanks a lot for your fast response!



-----Original Message-----
From: Øyvind Matheson Wergeland [mailto:[hidden email]]
Sent: Monday, February 29, 2016 9:02 AM
To: [hidden email]
Subject: Re: [Quickfixj-users] acceptor does not get any message, including Heartbeat, when it is busy - the result is "Disconnecting: Timed out waiting for heartbeat "

QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/



------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: acceptor does not get any message, including Heartbeat, when it is busy - the result is "Disconnecting: Timed out waiting forheartbeat "

Eric San Mateo
In reply to this post by Luba Zlatin
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/



I would say this is normal behavior. You are stopping the message flow by doing the heavy lifting in the onMessage method. I would think the most onMessage should be doing is to route the message into another queue for processing, business logic should not be done inside onMessage.

 

Regards,

Eric San Mateo

A-FIX Solutions | +63 917 308 9371

 

From: [hidden email]
Sent: Monday, February 29, 2016 1:34 PM
To: [hidden email]
Subject: [Quickfixj-users] acceptor does not get any message,including Heartbeat,when it is busy - the result is "Disconnecting: Timed out waiting forheartbeat "

 

 

 

The acceptor does not get any message, including Heartbeat, from the initiator when it is busy by processing another request (QuoteRequest, for example, I just put Thread.wait(120000) into onMessage(QuoteRequest order, SessionID sessionID) method), but the acceptor does send messages to the initiator. It sends TestRequest to the initiator, the initiator sends back Heartbeat with the TestReqID=TEST, but the acceptor does not get  it (because it is still busy) and closes the connection with the following warning in *.event.log:

Disconnecting: Timed out waiting for heartbeat

I have to mention that before the acceptor gets busy it has  got Heartbeat messages as usually. The same is true after it gets not busy.

This is also true for the initiator: when it is busy (Thread.wait(120000) into onMessage())  it does not get any message from the acceptor, including Heartbeat, which causes :

Disconnecting: Timed out waiting for heartbeat

 

 


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Loading...