Thread: [Quickfix-users] PROBLEM WITH DATA INTEGRITY AND RESEND REQUEST
Brought to you by:
orenmnero
From: ka w. <ka...@gm...> - 2010-03-12 02:25:19
|
Hi, This message is in 2 parts :) *FIRST PART:* Into production we had this message sent into the network (extract from our log file): 8=FIX.4.2*9=199 *35=D*34=2968*49=VMI*52=20100310-14:35:44.809*56=VMI17165*11=d2c2c9a4-94c9-40a1-b249-6f2a2a16ed95*21=1*38=100*40=2*44=41.76*54=1*55=G*59=0*60=20100310-09:35:44*100=TSX*207=TSX*7201=IN*7212=N* 10=030 However this message was not right. There was one tag missing, a custom tag with its value: 7208=220. If you take the message as it, the bodylength (tag 9) would have been 190 and the checksum (tag 10) would have been 123. If you add the missing part, 7208=220 + <SOH> character (delimiter), you would obtain 9=199 and 10=030, which is coherent with the message. How this could have happened? I mean doesn't QFIX check these two tags BEFORE sending a message on the network? How can I prevent this to happen in the future? *SECOND PART:* * * In response to that, our vendor sent us a ResendRequest for this message. Unfortunaltly the message in the BODY file was strictly identical to the one into the log file. QFix didn't take any of the following actions (extract of the FIX specs): "Upon receipt of a Resend Request, the resender can respond in one of three ways: 1. retransmit the requested messages (in order) with the original sequence numbers and PossDupFlag set to “Y” 2. issue a SeqReset-GapFill with PossDupFlag set to “Y” message to replace the retransmission of administrative and application messages 3. issue a SeqReset-Reset with PossDupFlag set to “Y” to force sequence number synchronization." By default QFix should have taken the step 1 but the message was corrupted! - What QFix should have done in this scenario or what sould have I done? - How can I prevent this to happen into the future? Thanks for your help, Kamel Ps: If you wonder, our custom tag is an integer and we use it correctly so there is no link with this discussion: http://old.nabble.com/Invalid-Message-td17332539.html |
From: Kenny S. <ks...@co...> - 2010-03-12 03:12:23
|
Can you post the code used to create your message? -- Kenny Stone Connamara Systems, LLC On Thu, Mar 11, 2010 at 8:25 PM, ka wone <ka...@gm...> wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > Hi, > > This message is in 2 parts :) > > *FIRST PART:* > > Into production we had this message sent into the network (extract from our > log file): > 8=FIX.4.2* 9=199* 35=D* 34=2968 *49=VMI* 52=20100310-14:35:44.809* > 56=VMI17165* 11=d2c2c9a4-94c9-40a1-b249-6f2a2a16ed95* 21=1 *38=100 *40=2 > *44=41.76* 54=1* 55=G* 59=0* 60=20100310-09:35:44* 100=TSX* 207=TSX* 7201=IN > *7212=N *10=030 > > However this message was not right. There was one tag missing, a custom tag > with its value: 7208=220. > If you take the message as it, the bodylength (tag 9) would have been 190 > and the checksum (tag 10) would have been 123. > If you add the missing part, 7208=220 + <SOH> character (delimiter), you > would obtain 9=199 and 10=030, which is coherent with the message. > > How this could have happened? I mean doesn't QFIX check these two tags > BEFORE sending a message on the network? > How can I prevent this to happen in the future? > > > *SECOND PART:* > * > * > In response to that, our vendor sent us a ResendRequest for this message. > Unfortunaltly the message in the BODY file was strictly identical to the one > into the log file. QFix didn't take any of the following actions (extract > of the FIX specs): > > "Upon receipt of a Resend Request, the resender can respond in one of three > ways: > 1. retransmit the requested messages (in order) with the original sequence > numbers and > PossDupFlag set to “Y” > 2. issue a SeqReset-GapFill with PossDupFlag set to “Y” message to replace > the retransmission > of administrative and application messages > 3. issue a SeqReset-Reset with PossDupFlag set to “Y” to force sequence > number > synchronization." > > By default QFix should have taken the step 1 but the message was > corrupted! > - What QFix should have done in this scenario or what sould have I done? > - How can I prevent this to happen into the future? > > > Thanks for your help, > Kamel > > > Ps: If you wonder, our custom tag is an integer and we use it correctly so > there is no link with this discussion: > http://old.nabble.com/Invalid-Message-td17332539.html > > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > > |