Re: [Quickfix-developers] MsgSeqNum too low
Brought to you by:
orenmnero
From: Djalma R. d. S. F. <drs...@gm...> - 2008-03-18 18:00:07
|
Hi Brian, Have you tried to intercept the logout message in toAdmin to check the text field? if ( !possDupFlag ) { std::stringstream stream; stream << "MsgSeqNum too low, expecting " << getExpectedTargetNum() << " but received " << msgSeqNum; *generateLogout( stream.str() );* throw std::logic_error( stream.str() ); } Djalma On Tue, Mar 18, 2008 at 12:23 PM, Brian Erst <azz...@ya...> wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > I have a counterparty that uses a non-standard way to indicate failover > from one FIX backend to another (using FIX 4.2). > > If the first FIX node fails, you are disconnected (either socket dropped > or a quick logout). When you reconnect and are directed to the failover > node, the only indication that you've failed over is that the sequence > number is "1". Of course, QuickFIX rightly rejects that as "MsgSeqNum too > low" and starts a mad race to reconnect with until it gets a valid sequence > number in the login response. > > I need to short circuit that behavior. If I'm reconnecting to a failover > node, I need to detect that I got a "too low" sequence number and then > disconnect, reset my own sequence numbers and login with a 141=Y. That > brings both systems back into sync. > > My quick perusal of the QF 1.12.4 source doesn't look promising. It > appears that it reads a FIX message from the socket, calls two versions of > "next", which call nextLogon, which eventually calls verify(login...) which > will throw an exception captured within the send loop, logging it out and > writing the error to the error log. At no point do I see a place where my > application will be informed either of the message or its failure. > > Anyone know what I'm missing? Or do I have to turn all validation off > (which would REALLY suck)? Or do I have to create a custom FileLogger that > will look for the "MsgSeqNum too low" text (double-plus-ungood)? > > - Brian Erst > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |