ODBCで再コンパイルされたquickfix1.13.3を使用していますが、アクセプターで奇妙な動作があります(同じODBCデータベースを共有し、ホットフェイルオーバーが有効になっている異なるマシン上の2つのアクセプター)。私の毎日のセッションは次のように設定されています。
RefreshOnLogon=Y
StartTime=00:02:00
EndTime=23:58:00
PersistMessages=Y
および必要なOdbc設定。
23:54に、イニシエーターはMsgSeqNum = 1711でログアウトを送信し、クイックフィックスアクセプターはLogout MsgSeqNum = 1711で応答するため、問題はありません。
00:05:16に、イニシエーターはMsgSeqNum = 2でログオンを送信しますが、クイックフィックスアクセプターはLogout MsgSeqNum=1712で応答します。
00:05:18に、イニシエーターはLogonおよびMsgSeqNumm = 4で再試行し、今回は、クイックフィックスアクセプターがLogon MsgSeqNum=1で応答します。
テーブル「sessions」で、incoming_seqnumとoutgoing_seqnumがODBCによって適切にリセットされなかった可能性があると考えて、00:00に手動でリセットを強制しようとしましたが、無駄に、同じ動作が発生します。
現時点での私の推測では、この構成でのクイックフィックスは、ログオン要求を昨日のセッションと一致させ、その結果、昨日のシーケンス番号でログアウトします。
同じStartTime
、、 1EndTime
つのアクセプター(2つではなく)、、FileStore
およびRefreshOnLogon
設定なし(1つのアクセプターしかないため)では、quickfix1.12.4で動作していました。
私も試してみましRefreshOnLogon=N
たが、問題は同じままです...seqnumsは深夜に正しくリセットされません。
何か案は?
どうもありがとう、