Quickfix 1.13.3 - SeqNum не сбрасывается должным образом в StartTime с ODBC Store - PullRequest
1 голос
/ 11 октября 2010

Я использую quickfix 1.13.3, перекомпилированный с ODBC, и у меня странное поведение на моих акцепторах (два акцептора на разных машинах используют одну и ту же базу данных ODBC и включены для горячего переключения при сбое). Моя ежедневная сессия настроена с помощью:

RefreshOnLogon=Y
StartTime=00:02:00
EndTime=23:58:00
PersistMessages=Y

и необходимые настройки Odbc.

В 23:54 инициатор отправляет Logout с MsgSeqNum = 1711, мой получатель быстрых исправлений отвечает Logout MsgSeqNum = 1711, поэтому никаких проблем нет.

В 00:05:16 инициатор отправляет Logon с MsgSeqNum = 2, но мой получатель быстрого исправления отвечает Logout MsgSeqNum = 1712!

В 00:05:18 инициатор повторяет попытку с Logon и MsgSeqNumm = 4, и на этот раз мой получатель быстрого исправления отвечает Logon MsgSeqNum = 1

Думая, что, возможно, в таблице "сеансы" ODBC для входящих_секундов и исходящих_данных не были должным образом сброшены ODBC, я даже пытался принудительно выполнить сброс вручную в 00:00, но напрасно я все еще получаю то же поведение.

В настоящий момент я предполагаю, что quickfix с этой конфигурацией по-прежнему сопоставляет запрос на вход со вчерашним сеансом, что приводит к выходу из системы со вчерашним порядковым номером ....

С такими же настройками StartTime, EndTime, 1 акцептор (вместо двух), FileStore и без RefreshOnLogon (поскольку у меня был только 1 акцептор), он использовался для работы с исправлением 1.12.4.

Я также пытался с RefreshOnLogon=N, но проблема остается той же ... seqnums не сбрасываются должным образом в полночь.

Есть идеи?

Большое спасибо,

Ответы [ 2 ]

1 голос
/ 15 октября 2010

После многих попыток с разными настройками я наконец откатился до 1.12.4, перекомпилирован с ODBC.При тех же настройках старая библиотека работает правильно, а значения seqnums правильно сбрасываются в 00: 02: 00.

RefreshOnLogon=Y
StartTime=00:02:00
EndTime=23:58:00
PersistMessages=Y
0 голосов
/ 15 ноября 2010

У вас установлен UseLocalTime в вашем конфигурационном файле? Если это так, вы должны заметить, что QuickFIX сломал его после 1.12.4. Ревизия, которая сломала это, была 2160, как я отмечаю на этой ошибке: http://sourceforge.net/tracker/?func=detail&aid=3023908&group_id=37535&atid=1126912

...