Re: [Quickfix-developers] Small bug in QF 1.9.0. Target and sender seq number.
Brought to you by:
orenmnero
From: Oren M. <or...@qu...> - 2004-09-09 19:37:01
|
I wrote a unit test for this and verified the behavior you are=20 reporting. Instead of querying for all fields, now the store is=20 querying only for the specific fields it needs in a requested order. =20 This ensures the rows can always be referenced as 0,1 and 2 for the=20 date, incoming and outgoing seqnum respectively. Combined with the new=20= tests, this should prevent this bug from ever creeping in again after a=20= schema change. This one probably warrants a point release. I'll make a patch=20 available and put out a new point release once the build machines=20 prepare new archives with these changes. --oren On Sep 9, 2004, at 11:40 AM, Guillermo Arbeiza Alameda wrote: > > Hi guys! > > I think I've found an small bug in this new QF release. As i'm still > developing i justinstall any new version that becomes available, and > i've > found that everytime i kill and start my application ( i do it > gracefully > with acceptor.stop() ) the expected incoming seq number for every > session > becomes 2004. I'm using MySQL storage and logging. > > I've done a little research and i think that in > MySQLStore::PopulateCache(...) its the mistake: > > (...) > MYSQL_ROW row =3D mysql_fetch_row( result ); > UtcTimeStamp time; > std::string sqlTime =3D row[ 3 ]; > strptime( sqlTime.c_str(), "%Y-%m-%d %H:%M:%S", time ); > static_cast<tm*>(time)->tm_isdst =3D -1; > m_cache.setCreationTime( time ); > m_cache.setNextTargetMsgSeqNum( atol( row[ 4 ] ) ); > m_cache.setNextSenderMsgSeqNum( atol( row[ 5 ] ) ); > (...) > > since the sessions table now has a new column before the seq num ones,=20= > i > think cache seq nums must be populated from row[5] and row [6]. > > Beyond this being the solution, i think an acceptance test that covers > this > kind of things is missing, but dont really know how hard would it be = to > write it, since it should kill the process and start it again. > > Anyway, cheers again for such good work! > > > Guillermo Arbeiza > > > ****************************** AVISO LEGAL > ****************************** > > La informaci=F3n contenida en este mensaje es para uso exclusivo de su > destinatario. No debe copiarse, transmitirse a terceros ni guardarse=20= > por > estos =FAltimos, salvo autorizaci=F3n del remitente. > > Puede contener informaci=F3n confidencial o legalmente protegida cuyo > r=E9gimen legal de utilizaci=F3n no se ve afectado por el hecho de que > haya sido enviada por correo electr=F3nico. > > Su env=EDo por error a una persona distinta de su destinatario real no > implica que se haya modificado tal destinatario ni supone renuncia a = su > eventual car=E1cter confidencial o al r=E9gimen legal que rija su > utilizaci=F3n. > > Cualquier opini=F3n expresada en este mensaje vincular=E1 = exclusivamente a > la persona que lo haya remitido, excepto cuando el mensaje establezca=20= > lo > contrario y el remitente est=E9 autorizado para establecer que dichas > opiniones vincular=E1n a esta entidad. > > En el supuesto de que este correo se recibiera por error, rogamos > procedan a borrarlo, sin reenviarlo a terceros ni conservarlo en > cualquier soporte y nos informen inmediatamente llamando al tel=E9fono = 34 > 91 5892123 o a la direcci=F3n de correo electr=F3nico remitente. = Gracias. > > ****************************** DISCLAIMER=20 > ****************************** > > The information contained in this message is for the exclusive use of > the named person. It can not be copied, transmitted to third parties = or > stored by the latter, except if authorised by the sender. > > It may contain confidential or legally privileged information whose > legal regime is not affected by the fact that this information has = been > sent by e-mail. > > Its erroneous transmission to a person other than the real named = person > neither implies any modification of this named person nor a=20 > renunciation > of the eventual confidentiality or legal regime affecting the use of > concerned message. > > Any views expressed in this message are binding exclusively upon the > individual sender, except where the message states otherwise and the > sender is authorised to bind this entity. > > If you receive this message in error, please delete it without > transmitting it to any third party or keeping it in any form and = notify > us immediately either by phone (34 91 5892123) or using the e- mail > address of the sender. Thank You. > <Guillermo Arbeiza.vcf>= |