quickfixj icon indicating copy to clipboard operation
quickfixj copied to clipboard

SETTING_MAX_SCHEDULED_WRITE_REQUESTS does not work for TLS session

Open FIXGateway opened this issue 4 years ago • 2 comments

Describe the bug When a session is a TLS session, for example, a Bloomberg TLS session, SETTING_MAX_SCHEDULED_WRITE_REQUESTS does not work as expected. If we set SETTING_MAX_SCHEDULED_WRITE_REQUESTS to be 10 for a TLS session, when we send (very very slowly) total messages more than 10, the session will be disconnected. It seems that for a TLS session, this number is the accumulated FIX messages we could send out after session logon (35=A).

To Reproduce

  1. Setup a TLS FIX session
  2. set SETTING_MAX_SCHEDULED_WRITE_REQUESTS to be 10
  3. Connect and Logon this TLS session (35=A)
  4. Send 11 messages very very slowly
  5. This TLS session is disconnected after 11 messages sent with error message - Disconnecting: Slow consumer

Expected behavior When set SETTING_MAX_SCHEDULED_WRITE_REQUESTS to be 10 for a TLS session, only if total unsent FIX messages in Write Request Queue is greater than 10, then disconnect the TLS session.

system information:

  • OS: Linux
  • Java version JDK8
  • QFJ Version 2.2.0

Additional context SETTING_MAX_SCHEDULED_WRITE_REQUESTS is working fine for non-TLS session, when a FIX message is sent out, the Write Request Queue size will decrease correctly. For a TLS session, it seems that Write Request Queue size does not decrease at all, it just keep increasing forever.

FIXGateway avatar Jul 13 '21 08:07 FIXGateway

I think this is a MINA bug. At least I saw that a similar issue was reported recently against MINA. Currently on the road, can add details later but maybe you can also l find it in the meantime. Cheers Chris

chrjohn avatar Jul 13 '21 13:07 chrjohn

https://issues.apache.org/jira/browse/DIRMINA-1146

chrjohn avatar Jul 26 '21 08:07 chrjohn