I am using quickfix 1.13.3 recompiled with ODBC and I have a strange behavior on my acceptors (two acceptors on different machines sharing the same ODBC database and enabled for hot failover). My daily session is setup with:
RefreshOnLogon=Y
StartTime=00:02:00
EndTime=23:58:00
PersistMessages=Y
and the necessary Odbc Settings.
At 23:54, the initiator sends a Logout with MsgSeqNum = 1711, my quickfix acceptor responds with Logout MsgSeqNum = 1711, so no problem there.
At 00:05:16, the initiator sends a Logon with MsgSeqNum = 2, but my quickfix acceptor responds with Logout MsgSeqNum = 1712 !
At 00:05:18, the initiator retries with Logon and MsgSeqNumm = 4, and this time, my quickfix acceptor responds with Logon MsgSeqNum = 1
Thinking that maybe, in the table "sessions", the incoming_seqnum and outgoing_seqnum were not properly reset by ODBC, I even tried to force a reset manually at 00:00 but in vain, I still get the same behavior.
My guess at the moment is that quickfix with this configuration still matches the Logon request against the yesterday session which results in the logout with the yesterday sequence number....
With the same StartTime
, EndTime
, 1 acceptor (instead of two), FileStore
, and no RefreshOnLogon
setting (because I had only 1 acceptor) it used to work with quickfix 1.12.4.
I also tried with RefreshOnLogon=N
but the problem remains the same... seqnums are not properly reset at midnight.
Any ideas?
Many thanks,