You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In case of library timeout, the Framer acquires the sessions of the library. Once acquired, messages can be sent to the session without going through the library (e.g. Heartbeat or Logout).
When using SOLE_LIBRARY mode, this seems counter-intuitive:
in this mode, TCP connections are not managed while the library is not connected, Logon messages are ignored by the Framer etc.
shouldn't the Framer be more passive wrt sessions when the library is disconnected with a timeout?
Even without SOLE_LIBRARY, this is problematic when one needs to control the sending of FIX messages through a SessionProxy (known only at library level): it the library times out, messages will be sent circumventing the SessionProxy.
The problem with this is that it becomes impossible to keep track of sent MsgSeqNum in a clustered solution.
A configuration parameter should allow to prevent the engine from autonomously sending messages to sessions.
The text was updated successfully, but these errors were encountered:
I have the same confusion. The existing tcp connection will not be released when the sole library is disconnected, but will be taken over by the Gateway Library. As a result, SessionProxy cannot track all outbound messages. I'm wondering whether to put Engine and Library in the same process and release the engine's tcp connection in the library disconnect callback.
FYI this is what I do: several processes embed their own engine + library, even though that is not the original philosophy behind artio (and is heavier in terms of processing).
Nevertheless, disconnections between engine and library due to timeout can still happen. I've seen it in two scenarios:
invalid shutdown implementation on my side: the library would time out while the engine was closing (hopefully fixed now)
attaching a debugger to the process
I'm wondering whether I should take care of closing all sessions from the library before shutting down the engine, to avoid the risk of having sending uncontrolled outbound messages because of this issue.
In case of library timeout, the Framer acquires the sessions of the library. Once acquired, messages can be sent to the session without going through the library (e.g. Heartbeat or Logout).
When using SOLE_LIBRARY mode, this seems counter-intuitive:
Even without SOLE_LIBRARY, this is problematic when one needs to control the sending of FIX messages through a SessionProxy (known only at library level): it the library times out, messages will be sent circumventing the SessionProxy.
The problem with this is that it becomes impossible to keep track of sent MsgSeqNum in a clustered solution.
A configuration parameter should allow to prevent the engine from autonomously sending messages to sessions.
The text was updated successfully, but these errors were encountered: