RE: [Quickfix-developers] Mystery disconnect continues
Brought to you by:
orenmnero
From: Howard S. E. <ho...@Pi...> - 2004-06-01 21:07:30
|
Ok, Here's my theory.. My engine creates the qf session objects / application every morning at = 7:30 am. =20 This is seen in the event log... > 20040601-11:30:02 : Created session My session configurations set the session times at 8am - 7pm.. > StartTime=3D12:00:00 > EndTime=3D23:00:00 When my session's first logon attempt comes in at 8:05 the = checkSessionTime method uses the session state's CreationTime, which at = that point is 7:30am(1/2 hour before StartTime). =20 bool checkSessionTime( const UtcTimeStamp& time ) { UtcTimeStamp creationTime =3D m_state.getCreationTime(); return isSameSession(m_startTime, m_endTime, time, creationTime); } So the checkSessionTime method fails in its call to isSameSession and = the reset method is called on the session. This causes the reasonless = "Disconnecting" and the session state is reset, but now the state's = CreationTime is reset to 8:05. The next logon attempt succeeds because = the CreationTime (8:05) is > StartTime (8:00). I can work around for now by adjusting my StartTime to 11:00 and that = should fix it, but the ultimate fix lies in the = isSameSession/checkSessionTime issue. Thanks for your help Oren. -----Original Message----- From: Oren Miller [mailto:or...@qu...] Sent: Tuesday, June 01, 2004 4:40 PM To: Howard S. Engelhart Cc: QuickFIX Questions ((E-mail)) Subject: Re: [Quickfix-developers] Mystery disconnect continues Well, looking at the session, the only thing that I see that could =20 possibly do a disconnect without logging a reason (as of 1.7.1) is if =20 reset() is called. And the most likely culprit may be when it checks =20 the session time. I don't know why but maybe there is some problem =20 that it does not think the session is ready at the time the first logon = occurs. Maybe you can print something to the event log before every =20 call to reset() in Session.cpp and see if we can verify that this is =20 where the disconnect is coming from. On Jun 1, 2004, at 2:48 PM, Howard S. Engelhart wrote: > Using qf 1.7.1 > > This is a problem I've seen back to quickfix 1.6.0. The first time =20 > our client sessions attempt to logon in the morning their sessions are = =20 > disconnected with no apparent reason. The server completely tears =20 > down all FIX sessions at the end of the day, unloads from memory + =20 > moves old logs out so when it comes up in the morning everything is =20 > fresh, sequence numbers are at 1,1. > > If anyone has an ideas or experience with this type of problem it'd be = =20 > appreciated. Relevant logs + cfg below. > > Thanks, > > -Howard > > > Event log > --------------- > 20040601-11:30:02 : Created session > 20040601-12:05:25 : Disconnecting > 20040601-12:09:06 : Received logon request > 20040601-12:09:06 : Responding to logon request > 20040601-12:09:06 : MsgSeqNum too high RECEIVED: 2 EXPECTED: 1 > 20040601-12:09:06 : Sent ResendRequest FROM: 1 TO: 999999 > 20040601-12:09:06 : MsgSeqNum too high RECEIVED: 3 EXPECTED: 1 > 20040601-12:09:06 : Sent ResendRequest FROM: 1 TO: 999999 > 20040601-12:09:07 : Received SequenceReset FROM: 1 TO: 4 > 20040601-12:09:07 : MsgSeqNum too low RECEIVED: 1 EXPECTED: 4 PosDup: = Y > > Incoming log > --------------- > = 8=3DFIX.4.0|9=3D74|35=3DA|49=3DCLIENT|56=3DSERVER|34=3D1|50=3DADMIN|43=3D= N|52=3D20040601-=20 > 12:05:15|98=3D0|108=3D60|10=3D213| > = 8=3DFIX.4.0|9=3D74|35=3DA|49=3DCLIENT|56=3DSERVER|34=3D2|50=3DADMIN|43=3D= N|52=3D20040601-=20 > 12:08:56|98=3D0|108=3D60|10=3D222| > = 8=3DFIX.4.0|9=3D68|35=3D1|49=3DCLIENT|56=3DSERVER|34=3D3|50=3DADMIN|43=3D= N|52=3D20040601-=20 > 12:08:56|112=3D3|10=3D187| > = 8=3DFIX.4.0|9=3D95|35=3D4|49=3DCLIENT|56=3DSERVER|34=3D1|50=3DADMIN|43=3D= Y|52=3D20040601-=20 > 12:08:56|122=3D20040601-12:08:56|123=3DY|36=3D4|10=3D001| > = 8=3DFIX.4.0|9=3D95|35=3D4|49=3DCLIENT|56=3DSERVER|34=3D1|50=3DADMIN|43=3D= Y|52=3D20040601-=20 > 12:08:57|122=3D20040601-12:08:57|123=3DY|36=3D4|10=3D003| > = 8=3DFIX.4.0|9=3D68|35=3D0|49=3DCLIENT|56=3DSERVER|34=3D4|50=3DADMIN|43=3D= N|52=3D20040601-=20 > 12:10:01|112=3D0|10=3D167| > = 8=3DFIX.4.0|9=3D68|35=3D0|49=3DCLIENT|56=3DSERVER|34=3D5|50=3DADMIN|43=3D= N|52=3D20040601-=20 > 12:11:06|112=3D0|10=3D174| > = 8=3DFIX.4.0|9=3D68|35=3D0|49=3DCLIENT|56=3DSERVER|34=3D6|50=3DADMIN|43=3D= N|52=3D20040601-=20 > 12:12:10|112=3D0|10=3D171| > > > Outgoing log > --------------- > 8=3DFIX.4.0|9=3D60|35=3DA|34=3D1|49=3DSERVER|52=3D20040601-12:09:=20 > 06|56=3DCLIENT|98=3D0|108=3D60|10=3D213| > 8=3DFIX.4.0|9=3D62|35=3D2|34=3D2|49=3DSERVER|52=3D20040601-12:09:=20 > 06|56=3DCLIENT|7=3D1|16=3D999999|10=3D078| > 8=3DFIX.4.0|9=3D62|35=3D2|34=3D3|49=3DSERVER|52=3D20040601-12:09:=20 > 06|56=3DCLIENT|7=3D1|16=3D999999|10=3D079| > 8=3DFIX.4.0|9=3D48|35=3D0|34=3D4|49=3DSERVER|52=3D20040601-12:10:=20 > 06|56=3DCLIENT|10=3D169| > > > [CLIENT] > BeginString=3DFIX.4.0 > CheckLatency=3DN > DataDictionary=3D/home/sys/conf/FIX40.xml > SenderCompID=3DSERVER > TargetCompID=3DCLIENT > > [DEFAULT] > BeginString=3DFIX.4.2 > CheckLatency=3DY > ConnectionType=3Dacceptor > DataDictionary=3D/home/sys/conf/FIX42.xml > EndTime=3D23:00:00 > FileLogPath=3D/home/sys/logs > FileStorePath=3D/home/sys/logs > MaxLatency=3D120 > ResetOnDisconnect=3DN > ResetOnLogout=3DN > SenderCompID=3DSERVER > SocketAcceptPort=3D9100 > SocketReuseAddress=3DY > StartTime=3D12:00:00 > UseDataDictionary=3DY > ValidateFieldsHaveValues=3DN > ValidateFieldsOutOfOrder=3DY > > > ------------------------------------------------------- > This SF.Net email is sponsored by the new InstallShield X. > From Windows to Linux, servers to mobile, InstallShield X is the one > installation-authoring solution that does it all. Learn more and > evaluate today! http://www.installshield.com/Dev2Dev/0504 > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |