{{Quickfixn}} disconnect when trying to negotiate sequence numbers

Mike Gatny mgatny at connamara.com
Thu Sep 1 09:33:31 PDT 2016


Your counterparty (redacted) is e.g. sending you a logon under seq num 2507:

2517 20160901-13:38:50.891 :
8=FIX.4.2|9=64|35=A|49=THEM|56=YOU|34=2507|52=20160901-13:38:50.520|108=60|


...then some resend ensues... and then counterparty finishes off the resend
with a combined seq reset / gap fill over the previous logon, *but without
setting the PossDup flag (43=Y):*


2548 20160901-13:38:51.094 :
8=FIX.4.2|9=66|35=4|49=THEM|56=YOU|34=2507|52=20160901-13:38:50.697|123=Y|36=2508|
2549 20160901-13:38:51.110 :
8=FIX.4.2|9=105|35=5|34=41|49=YOU|52=20160901-13:38:51.094|56=THEM|58=MsgSeqNum
too low, expecting 2508 but received 2507|

I am typically slow to blame the other side, but I think that is plain
wrong. I would be happy to hear their counter-argument, though I think the
FIX spec is clear in this case.  It is do-able to add some config to go out
of spec and workaround this (wouldn't be the first time), but of course the
less of that we have to do the better.

Might be interesting to check whether the other QF impls handle this.

--
Mike Gatny
Connamara Systems, LLC

--
Mike Gatny
Connamara Systems, LLC

On Thu, Sep 1, 2016 at 11:30 AM, Grant Birchmeier <gbirchmeier at connamara.com
> wrote:

> James, Mike is asking for your *message* log, not your event log.
>
> You need to make sure to delete any passwords or other sensitive
> information from it before sending.
>
> Because it is very large, maybe send it to Mike directly (as an
> attachment, not a paste) instead of on the list.
>
> (I'm going to admin-deny your event-log email from going to the list,
> because it's very large and not what we need.)
>
> -Grant
>
> On Thu, Sep 1, 2016 at 10:04 AM, Mike Gatny <mgatny at connamara.com> wrote:
>
>> Hmm that almost looks like an off-by-one problem with the seqnums on
>> recovery.  Which qf/n release version are you on (latest is v1.7.0)?  Can
>> you post a sanitized messages log so we can follow along with one of those
>> resends?
>>
>> --
>> Mike Gatny
>> Connamara Systems, LLC
>>
>> On Thu, Sep 1, 2016 at 10:42 AM, James A. Smith <jsmith at anstca.com>
>> wrote:
>>
>>> Hi team,
>>>
>>>
>>>
>>> I have an acceptor that is having problems negotiating sequence numbers
>>> after I bounce the server:
>>>
>>>
>>>
>>> 20160901-14:27:12.373 : Received logon
>>>
>>> 20160901-14:27:12.373 : Responding to logon request
>>>
>>> 20160901-14:27:12.373 : MsgSeqNum too high, expecting 11367 but received
>>> 11602
>>>
>>> 20160901-14:27:12.373 : Sent ResendRequest FROM: 11367 TO: 0
>>>
>>> 20160901-14:27:12.420 : ResendRequest for messages FROM: 11367 TO: 0 has
>>> been satisfied.
>>>
>>> 20160901-14:27:12.436 : Received SequenceReset FROM: 11371 TO: 11372
>>>
>>> 20160901-14:27:13.295 : Processing queued message: 11602
>>>
>>> 20160901-14:27:13.295 : Verify failed: MsgSeqNum too low, expecting
>>> 11603 but received 11602
>>>
>>> 20160901-14:27:13.295 : Session FIX.4.2:ANS->BMO disconnecting: Verify
>>> failed: MsgSeqNum too low, expecting 11603 but received 11602
>>>
>>> 20160901-14:27:13.295 : Session FIX.4.2:ANS->BMO already disconnected:
>>> Received msg type '8' when not logged on
>>>
>>> 20160901-14:27:47.933 : FIX.4.2:ANS->BMO Socket Reader 11144452
>>> accepting session FIX.4.2:ANS->BMO from 165.185.251.141:10456
>>>
>>> 20160901-14:27:47.933 : FIX.4.2:ANS->BMO Acceptor heartbeat set to 60
>>> seconds
>>>
>>> 20160901-14:27:47.933 : Received logon
>>>
>>> 20160901-14:27:47.933 : Responding to logon request
>>>
>>> 20160901-14:27:47.933 : MsgSeqNum too high, expecting 11603 but received
>>> 11855
>>>
>>> 20160901-14:27:47.933 : Sent ResendRequest FROM: 11603 TO: 0
>>>
>>> 20160901-14:27:47.964 : ResendRequest for messages FROM: 11603 TO: 0 has
>>> been satisfied.
>>>
>>> 20160901-14:27:47.979 : Received SequenceReset FROM: 11605 TO: 11606
>>>
>>> 20160901-14:27:48.870 : Processing queued message: 11855
>>>
>>> 20160901-14:27:48.870 : Verify failed: MsgSeqNum too low, expecting
>>> 11856 but received 11855
>>>
>>> 20160901-14:27:48.870 : Session FIX.4.2:ANS->BMO disconnecting: Verify
>>> failed: MsgSeqNum too low, expecting 11856 but received 11855
>>>
>>> 20160901-14:28:23.633 : FIX.4.2:ANS->BMO Socket Reader 19043604
>>> accepting session FIX.4.2:ANS->BMO from 165.185.251.141:10457
>>>
>>> 20160901-14:28:23.633 : FIX.4.2:ANS->BMO Acceptor heartbeat set to 60
>>> seconds
>>>
>>> 20160901-14:28:23.633 : Received logon
>>>
>>> 20160901-14:28:23.633 : Responding to logon request
>>>
>>> 20160901-14:28:23.633 : MsgSeqNum too high, expecting 11856 but received
>>> 12024
>>>
>>> 20160901-14:28:23.633 : Sent ResendRequest FROM: 11856 TO: 0
>>>
>>> 20160901-14:28:23.680 : ResendRequest for messages FROM: 11856 TO: 0 has
>>> been satisfied.
>>>
>>> 20160901-14:28:23.680 : Received SequenceReset FROM: 11857 TO: 11858
>>>
>>> 20160901-14:28:24.242 : Processing queued message: 12024
>>>
>>> 20160901-14:28:24.242 : Verify failed: MsgSeqNum too low, expecting
>>> 12025 but received 12024
>>>
>>> 20160901-14:28:24.242 : Session FIX.4.2:ANS->BMO disconnecting: Verify
>>> failed: MsgSeqNum too low, expecting 12025 but received 12024
>>>
>>>
>>>
>>>
>>>
>>> Here is my config file:
>>>
>>> # default settings for sessions
>>>
>>> [DEFAULT]
>>>
>>> FileStorePath=store
>>>
>>> FileLogPath=log
>>>
>>> ConnectionType=acceptor
>>>
>>> ReconnectInterval=60
>>>
>>> SenderCompID=ANS
>>>
>>>
>>>
>>> # session definition
>>>
>>>
>>>
>>> [SESSION]
>>>
>>> UseDataDictionary=N
>>>
>>> ValidateUserDefinedFields=N
>>>
>>> BeginString=FIX.4.2
>>>
>>> TargetCompID=BMO
>>>
>>> UseLocalTime=Y
>>>
>>> StartTime=04:30:00
>>>
>>> EndTime=18:30:00
>>>
>>> ReconnectInterval=30
>>>
>>> HeartBtInt=30
>>>
>>> SocketAcceptPort=9304
>>>
>>> SocketConnectHost=165.185.251.141
>>>
>>> DataDictionary=BMOFIX42.xml
>>>
>>> # RequiresOrigSendingTime=N
>>>
>>> # test CheckLatency
>>>
>>> CheckLatency=N
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Quickfixn mailing list
>>> Quickfixn at lists.quickfixn.com
>>> http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
>>>
>>>
>>
>> _______________________________________________
>> Quickfixn mailing list
>> Quickfixn at lists.quickfixn.com
>> http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
>>
>>
>
>
> --
> Grant Birchmeier
> *Connamara Systems, LLC*
> *Made-To-Measure Trading Solutions.*
> Exactly what you need. No more. No less.
> http://connamara.com
>
> _______________________________________________
> Quickfixn mailing list
> Quickfixn at lists.quickfixn.com
> http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quickfixn.com/pipermail/quickfixn-quickfixn.com/attachments/20160901/fb79a399/attachment-0002.htm>


More information about the Quickfixn mailing list