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
Hello,
I'm trying to test various scenarios with Login/Logout and one in particular popped up as an issue. ResetOnLogon and ResetOnLogout are set to false on both Acceptor and Initiator.
And this is the sequence of events:
The Acceptor and Initiator are connected, and seqNums on both sides for both sender and target are 2.
The Acceptor sends 10 messages (new orders for example) but the last two are not received by the Initiator.
Acceptor has NextSenderMsgSeqNum set to 12 for example, but Initiator has NextTargetMsgSeqNum set to 10, so it's missing 2 messages.
Initiator wants to logout (for whatever reason), sends logout message and receives logout message by the Acceptor.
Now, the logout message Acceptor sent has seqNum = 12, and even though that's not what Initiator is expecting, the Initiator just rises the NextTargetMsgSeqNum to 11.
When the Initiator then starts the logon, it sends a logon message, receives a logon response with seqNum = 13.
Since it is expecting 11, it sends the resend request, but from 11 to 0, so it never receives the actual message with seqNum = 10 which ends up lost.
20241015-09:45:15.720 : 8=FIX.4.2�9=75�35=A�34=1�49=INITIATOR�52=20241015-09:45:10.604�56=ACCEPTOR�98=0�108=300�10=171�
20241015-09:45:15.807 : 8=FIX.4.2�9=75�35=A�34=1�49=ACCEPTOR�52=20241015-09:45:15.785�56=INITIATOR�98=0�108=300�10=186�
20241015-09:45:34.333 : 8=FIX.4.2�9=176�35=D�34=2�49=ACCEPTOR�52=20241015-09:45:34.331�56=INITIATOR�11=2024101511453432�21=1�22=3�38=1000�40=2�44=100�48=IBM US Equity�54=1�55=IBM�60=20241015-11:45:34.326�76=*NONE*�10=190�
20241015-09:45:34.359 : 8=FIX.4.2�9=176�35=D�34=3�49=ACCEPTOR�52=20241015-09:45:34.333�56=INITIATOR�11=2024101511453433�21=1�22=3�38=1000�40=2�44=100�48=IBM US Equity�54=1�55=IBM�60=20241015-11:45:34.333�76=*NONE*�10=192�
20241015-09:45:34.374 : 8=FIX.4.2�9=176�35=D�34=4�49=ACCEPTOR�52=20241015-09:45:34.333�56=INITIATOR�11=2024101511453433�21=1�22=3�38=1000�40=2�44=100�48=IBM US Equity�54=1�55=IBM�60=20241015-11:45:34.333�76=*NONE*�10=193�
20241015-09:45:34.382 : 8=FIX.4.2�9=176�35=D�34=5�49=ACCEPTOR�52=20241015-09:45:34.333�56=INITIATOR�11=2024101511453433�21=1�22=3�38=1000�40=2�44=100�48=IBM US Equity�54=1�55=IBM�60=20241015-11:45:34.333�76=*NONE*�10=194�
20241015-09:45:34.390 : 8=FIX.4.2�9=176�35=D�34=6�49=ACCEPTOR�52=20241015-09:45:34.333�56=INITIATOR�11=2024101511453433�21=1�22=3�38=1000�40=2�44=100�48=IBM US Equity�54=1�55=IBM�60=20241015-11:45:34.333�76=*NONE*�10=195�
20241015-09:45:34.401 : 8=FIX.4.2�9=176�35=D�34=7�49=ACCEPTOR�52=20241015-09:45:34.334�56=INITIATOR�11=2024101511453433�21=1�22=3�38=1000�40=2�44=100�48=IBM US Equity�54=1�55=IBM�60=20241015-11:45:34.334�76=*NONE*�10=198�
20241015-09:45:34.409 : 8=FIX.4.2�9=176�35=D�34=8�49=ACCEPTOR�52=20241015-09:45:34.334�56=INITIATOR�11=2024101511453433�21=1�22=3�38=1000�40=2�44=100�48=IBM US Equity�54=1�55=IBM�60=20241015-11:45:34.334�76=*NONE*�10=199�
20241015-09:45:34.421 : 8=FIX.4.2�9=176�35=D�34=9�49=ACCEPTOR�52=20241015-09:45:34.334�56=INITIATOR�11=2024101511453433�21=1�22=3�38=1000�40=2�44=100�48=IBM US Equity�54=1�55=IBM�60=20241015-11:45:34.334�76=*NONE*�10=200�
20241015-09:46:25.192 : 8=FIX.4.2�9=62�35=5�34=2�49=INITIATOR�52=20241015-09:46:25.180�56=ACCEPTOR�10=089�
20241015-09:46:25.197 : 8=FIX.4.2�9=63�35=5�34=12�49=ACCEPTOR�52=20241015-09:46:25.197�56=INITIATOR�10=147�
20241015-09:47:32.948 : 8=FIX.4.2�9=75�35=A�34=3�49=INITIATOR�52=20241015-09:47:32.874�56=ACCEPTOR�98=0�108=300�10=188�
20241015-09:47:32.963 : 8=FIX.4.2�9=76�35=A�34=13�49=ACCEPTOR�52=20241015-09:47:32.952�56=INITIATOR�98=0�108=300�10=235�
20241015-09:47:33.006 : 8=FIX.4.2�9=72�35=2�34=4�49=INITIATOR�52=20241015-09:47:32.997�56=ACCEPTOR�7=11�16=0�10=020�
20241015-09:47:33.107 : 8=FIX.4.2�9=208�35=D�34=11�43=Y�49=ACCEPTOR�52=20241015-09:47:33.010�56=INITIATOR�122=20241015-09:45:47.315�11=2024101511454731�21=1�22=3�38=1000�40=2�44=100�48=IBM US Equity�54=1�55=IBM�60=20241015-11:45:47.314�76=*NONE*�10=238�
20241015-09:47:41.646 : 8=FIX.4.2�9=106�35=4�34=12�43=Y�49=ACCEPTOR�52=20241015-09:47:33.013�56=INITIATOR�122=20241015-09:47:33.013�36=14�123=Y�10=233�
The text was updated successfully, but these errors were encountered:
Hello,
I'm trying to test various scenarios with Login/Logout and one in particular popped up as an issue.
ResetOnLogon
andResetOnLogout
are set to false on both Acceptor and Initiator.And this is the sequence of events:
The Acceptor and Initiator are connected, and
seqNums
on both sides for both sender and target are 2.The Acceptor sends 10 messages (new orders for example) but the last two are not received by the Initiator.
Acceptor has
NextSenderMsgSeqNum
set to 12 for example, but Initiator hasNextTargetMsgSeqNum
set to 10, so it's missing 2 messages.Initiator wants to logout (for whatever reason), sends logout message and receives logout message by the Acceptor.
Now, the logout message Acceptor sent has
seqNum
= 12, and even though that's not what Initiator is expecting, the Initiator just rises theNextTargetMsgSeqNum
to 11.When the Initiator then starts the logon, it sends a logon message, receives a logon response with
seqNum
= 13.Since it is expecting 11, it sends the resend request, but from 11 to 0, so it never receives the actual message with
seqNum
= 10 which ends up lost.The text was updated successfully, but these errors were encountered: