Thread: [Quickfix-users] CME dropcopy certification quickfix c# 1.14.2 sending resend instead of heartbeat
Brought to you by:
orenmnero
From: jyua44 <jy...@ho...> - 2010-12-17 07:00:13
|
I am doing CME dropcopy cert and have a problem as follows: 1. CME sends me a resend request with 35=2, say with seq number 34 = 10; 2. My quickfix engine sends back gapfill with 35 = 4; 3. My quickfix engine send back heartbeat; 4. CME sends me a heartbeat with seq number 34 = 11; 5. send back resend request with 35 = 2 for seq number 10. This is not desired. Some how, the quickfix engine does not remember RESEND REQUEST seq number 10 already received. The desired behavior by the certification is sending back a heartbeat. Anybody know how to resolve this? Here are the fix messages: 8=FIX.4.29=8935=234=283149=CME50=G52=20101216-06:57:17.06056=OAACPON57=AJX369=22467=224716=010=139 8=FIX.4.29=12335=434=224743=Y49=OAACPON50=AJX52=20101216-06:57:17.27256=CME57=G122=20101216-06:57:17.272142=AJXDC36=2249123=Y10=215 8=FIX.4.29=7835=034=224949=OAACPON50=AJX52=20101216-06:57:47.27156=CME57=G142=AJXDC10=009 8=FIX.4.29=7735=034=283249=CME50=G52=20101216-06:57:47.06856=OAACPON57=AJX369=224710=122 8=FIX.4.29=9035=234=225049=OAACPON50=AJX52=20101216-06:57:47.28756=CME57=G142=AJXDC7=283116=010=028 -- View this message in context: http://old.nabble.com/CME-dropcopy-certification-quickfix-c--1.14.2-sending-resend-instead-of-heartbeat-tp30478491p30478491.html Sent from the QuickFIX - User mailing list archive at Nabble.com. |
From: jyua44 <jy...@ho...> - 2010-12-17 07:08:35
|
Sorry, the 5th step means: My quickfix engine sends back resend request with 35=2 ... Thank jyua44 wrote: > > I am doing CME dropcopy cert and have a problem as follows: > 1. CME sends me a resend request with 35=2, say with seq number 34 = > 10; > 2. My quickfix engine sends back gapfill with 35 = 4; > 3. My quickfix engine send back heartbeat; > 4. CME sends me a heartbeat with seq number 34 = 11; > 5. send back resend request with 35 = 2 for seq number 10. This is not > desired. Some how, the quickfix engine does not remember RESEND REQUEST > seq number 10 already received. The desired behavior by the > certification is sending back a heartbeat. > > Anybody know how to resolve this? > > Here are the fix messages: > 8=FIX.4.29=8935=234=283149=CME50=G52=20101216-06:57:17.06056=OAACPON57=AJX369=22467=224716=010=139 > 8=FIX.4.29=12335=434=224743=Y49=OAACPON50=AJX52=20101216-06:57:17.27256=CME57=G122=20101216-06:57:17.272142=AJXDC36=2249123=Y10=215 > 8=FIX.4.29=7835=034=224949=OAACPON50=AJX52=20101216-06:57:47.27156=CME57=G142=AJXDC10=009 > 8=FIX.4.29=7735=034=283249=CME50=G52=20101216-06:57:47.06856=OAACPON57=AJX369=224710=122 > 8=FIX.4.29=9035=234=225049=OAACPON50=AJX52=20101216-06:57:47.28756=CME57=G142=AJXDC7=283116=010=028 > > -- View this message in context: http://old.nabble.com/CME-dropcopy-certification-quickfix-c--1.14.2-sending-resend-instead-of-heartbeat-tp30478491p30478783.html Sent from the QuickFIX - User mailing list archive at Nabble.com. |
From: jyua44 <jy...@ho...> - 2010-12-17 14:55:57
|
I did not. But default value is 'N', otherwise the QF will not send 35=4. jyua44 wrote: > > Sorry, the 5th step means: My quickfix engine sends back resend request > with 35=2 ... > > Thank > > jyua44 wrote: >> >> I am doing CME dropcopy cert and have a problem as follows: >> 1. CME sends me a resend request with 35=2, say with seq number 34 = >> 10; >> 2. My quickfix engine sends back gapfill with 35 = 4; >> 3. My quickfix engine send back heartbeat; >> 4. CME sends me a heartbeat with seq number 34 = 11; >> 5. send back resend request with 35 = 2 for seq number 10. This is >> not desired. Some how, the quickfix engine does not remember RESEND >> REQUEST seq number 10 already received. The desired behavior by the >> certification is sending back a heartbeat. >> >> Anybody know how to resolve this? >> >> Here are the fix messages: >> 8=FIX.4.29=8935=234=283149=CME50=G52=20101216-06:57:17.06056=OAACPON57=AJX369=22467=224716=010=139 >> 8=FIX.4.29=12335=434=224743=Y49=OAACPON50=AJX52=20101216-06:57:17.27256=CME57=G122=20101216-06:57:17.272142=AJXDC36=2249123=Y10=215 >> 8=FIX.4.29=7835=034=224949=OAACPON50=AJX52=20101216-06:57:47.27156=CME57=G142=AJXDC10=009 >> 8=FIX.4.29=7735=034=283249=CME50=G52=20101216-06:57:47.06856=OAACPON57=AJX369=224710=122 >> 8=FIX.4.29=9035=234=225049=OAACPON50=AJX52=20101216-06:57:47.28756=CME57=G142=AJXDC7=283116=010=028 >> >> > > -- View this message in context: http://old.nabble.com/CME-dropcopy-certification-quickfix-c--1.14.2-sending-resend-instead-of-heartbeat-tp30478491p30481585.html Sent from the QuickFIX - User mailing list archive at Nabble.com. |
From: Djalma R. d. S. F. <drs...@gm...> - 2010-12-17 15:38:42
|
In the documentation, default is Y. "If set to N, no messages will be persisted. This will force QuickFIX to always send GapFills instead of resending messages. Use this if you know you never want to resend a message. Useful for market data streams..." The problem I faced some time ago (which also seems to be yours) is that there is a bug in the function Session::nextResendRequest which is correctly generating the GapFill but is returning without incrementing NextTargetMsgSeqNum when PersistMessages=N. It was easy to fix. if ( !m_persistMessages ) { endSeqNo = EndSeqNo(endSeqNo + 1); int next = m_state.getNextSenderMsgSeqNum(); if( endSeqNo > next ) endSeqNo = EndSeqNo(next); generateSequenceReset( beginSeqNo, endSeqNo ); // don't forget to increment next Target Sequence Number MsgSeqNum msgSeqNum(0); resendRequest.getHeader().getField( msgSeqNum ); if( !isTargetTooHigh(msgSeqNum) && !isTargetTooLow(msgSeqNum) ) { m_state.incrNextTargetMsgSeqNum(); } return; } I suggest that you retest forcing PersistMessages=Y, before making the source code modification (since this is a drop-copy connection, I don't beleive the message persistence is critical for you). On Fri, Dec 17, 2010 at 12:55 PM, jyua44 <jy...@ho...> wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > I did not. But default value is 'N', otherwise the QF will not send 35=4. > > jyua44 wrote: >> >> Sorry, the 5th step means: My quickfix engine sends back resend request >> with 35=2 ... >> >> Thank >> >> jyua44 wrote: >>> >>> I am doing CME dropcopy cert and have a problem as follows: >>> 1. CME sends me a resend request with 35=2, say with seq number 34 = >>> 10; >>> 2. My quickfix engine sends back gapfill with 35 = 4; >>> 3. My quickfix engine send back heartbeat; >>> 4. CME sends me a heartbeat with seq number 34 = 11; >>> 5. send back resend request with 35 = 2 for seq number 10. This is >>> not desired. Some how, the quickfix engine does not remember RESEND >>> REQUEST seq number 10 already received. The desired behavior by the >>> certification is sending back a heartbeat. >>> >>> Anybody know how to resolve this? >>> >>> Here are the fix messages: >>> 8=FIX.4.2 9=89 35=2 34=2831 49=CME 50=G 52=20101216-06:57:17.060 56=OAACPON 57=AJX 369=2246 7=2247 16=0 10=139 >>> 8=FIX.4.2 9=123 35=4 34=2247 43=Y 49=OAACPON 50=AJX 52=20101216-06:57:17.272 56=CME 57=G 122=20101216-06:57:17.272 142=AJXDC 36=2249 123=Y 10=215 >>> 8=FIX.4.2 9=78 35=0 34=2249 49=OAACPON 50=AJX 52=20101216-06:57:47.271 56=CME 57=G 142=AJXDC 10=009 >>> 8=FIX.4.2 9=77 35=0 34=2832 49=CME 50=G 52=20101216-06:57:47.068 56=OAACPON 57=AJX 369=2247 10=122 >>> 8=FIX.4.2 9=90 35=2 34=2250 49=OAACPON 50=AJX 52=20101216-06:57:47.287 56=CME 57=G 142=AJXDC 7=2831 16=0 10=028 >>> >>> >> >> > > -- > View this message in context: http://old.nabble.com/CME-dropcopy-certification-quickfix-c--1.14.2-sending-resend-instead-of-heartbeat-tp30478491p30481585.html > Sent from the QuickFIX - User mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > Lotusphere 2011 > Register now for Lotusphere 2011 and learn how > to connect the dots, take your collaborative environment > to the next level, and enter the era of Social Business. > http://p.sf.net/sfu/lotusphere-d2d > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > |
From: jyua44 <jy...@ho...> - 2010-12-17 13:14:27
|
The version of quickfix is 1.12.4. I am running on Windows. jyua44 wrote: > > I am doing CME dropcopy cert and have a problem as follows: > 1. CME sends me a resend request with 35=2, say with seq number 34 = > 10; > 2. My quickfix engine sends back gapfill with 35 = 4; > 3. My quickfix engine send back heartbeat; > 4. CME sends me a heartbeat with seq number 34 = 11; > 5. send back resend request with 35 = 2 for seq number 10. This is not > desired. Some how, the quickfix engine does not remember RESEND REQUEST > seq number 10 already received. The desired behavior by the > certification is sending back a heartbeat. > > Anybody know how to resolve this? > > Here are the fix messages: > 8=FIX.4.29=8935=234=283149=CME50=G52=20101216-06:57:17.06056=OAACPON57=AJX369=22467=224716=010=139 > 8=FIX.4.29=12335=434=224743=Y49=OAACPON50=AJX52=20101216-06:57:17.27256=CME57=G122=20101216-06:57:17.272142=AJXDC36=2249123=Y10=215 > 8=FIX.4.29=7835=034=224949=OAACPON50=AJX52=20101216-06:57:47.27156=CME57=G142=AJXDC10=009 > 8=FIX.4.29=7735=034=283249=CME50=G52=20101216-06:57:47.06856=OAACPON57=AJX369=224710=122 > 8=FIX.4.29=9035=234=225049=OAACPON50=AJX52=20101216-06:57:47.28756=CME57=G142=AJXDC7=283116=010=028 > > -- View this message in context: http://old.nabble.com/CME-dropcopy-certification-quickfix-c--1.14.2-sending-resend-instead-of-heartbeat-tp30478491p30480770.html Sent from the QuickFIX - User mailing list archive at Nabble.com. |
From: Djalma R. d. S. F. <drs...@gm...> - 2010-12-17 14:27:35
|
Hi, Did you set up PersistMessages=N in your configuration? On Fri, Dec 17, 2010 at 11:14 AM, jyua44 <jy...@ho...> wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > The version of quickfix is 1.12.4. I am running on Windows. > > > jyua44 wrote: >> >> I am doing CME dropcopy cert and have a problem as follows: >> 1. CME sends me a resend request with 35=2, say with seq number 34 = >> 10; >> 2. My quickfix engine sends back gapfill with 35 = 4; >> 3. My quickfix engine send back heartbeat; >> 4. CME sends me a heartbeat with seq number 34 = 11; >> 5. send back resend request with 35 = 2 for seq number 10. This is not >> desired. Some how, the quickfix engine does not remember RESEND REQUEST >> seq number 10 already received. The desired behavior by the >> certification is sending back a heartbeat. >> >> Anybody know how to resolve this? >> >> Here are the fix messages: >> 8=FIX.4.2 9=89 35=2 34=2831 49=CME 50=G 52=20101216-06:57:17.060 56=OAACPON 57=AJX 369=2246 7=2247 16=0 10=139 >> 8=FIX.4.2 9=123 35=4 34=2247 43=Y 49=OAACPON 50=AJX 52=20101216-06:57:17.272 56=CME 57=G 122=20101216-06:57:17.272 142=AJXDC 36=2249 123=Y 10=215 >> 8=FIX.4.2 9=78 35=0 34=2249 49=OAACPON 50=AJX 52=20101216-06:57:47.271 56=CME 57=G 142=AJXDC 10=009 >> 8=FIX.4.2 9=77 35=0 34=2832 49=CME 50=G 52=20101216-06:57:47.068 56=OAACPON 57=AJX 369=2247 10=122 >> 8=FIX.4.2 9=90 35=2 34=2250 49=OAACPON 50=AJX 52=20101216-06:57:47.287 56=CME 57=G 142=AJXDC 7=2831 16=0 10=028 >> >> > > -- > View this message in context: http://old.nabble.com/CME-dropcopy-certification-quickfix-c--1.14.2-sending-resend-instead-of-heartbeat-tp30478491p30480770.html > Sent from the QuickFIX - User mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > Lotusphere 2011 > Register now for Lotusphere 2011 and learn how > to connect the dots, take your collaborative environment > to the next level, and enter the era of Social Business. > http://p.sf.net/sfu/lotusphere-d2d > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > |
From: jyua44 <jy...@ho...> - 2010-12-17 16:38:26
|
Thanks Djalma Rosa dos Santos Filho. I checked my config and I did set PersitMessage=Y. So this probles in Session::nextResendRequest() must have been fixed, right? Which version of QF would you recommend to use? I am using QF C#, essentially QF C++ jyua44 wrote: > > I am doing CME dropcopy cert and have a problem as follows: > 1. CME sends me a resend request with 35=2, say with seq number 34 = > 10; > 2. My quickfix engine sends back gapfill with 35 = 4; > 3. My quickfix engine send back heartbeat; > 4. CME sends me a heartbeat with seq number 34 = 11; > 5. send back resend request with 35 = 2 for seq number 10. This is not > desired. Some how, the quickfix engine does not remember RESEND REQUEST > seq number 10 already received. The desired behavior by the > certification is sending back a heartbeat. > > Anybody know how to resolve this? > > Here are the fix messages: > 8=FIX.4.29=8935=234=283149=CME50=G52=20101216-06:57:17.06056=OAACPON57=AJX369=22467=224716=010=139 > 8=FIX.4.29=12335=434=224743=Y49=OAACPON50=AJX52=20101216-06:57:17.27256=CME57=G122=20101216-06:57:17.272142=AJXDC36=2249123=Y10=215 > 8=FIX.4.29=7835=034=224949=OAACPON50=AJX52=20101216-06:57:47.27156=CME57=G142=AJXDC10=009 > 8=FIX.4.29=7735=034=283249=CME50=G52=20101216-06:57:47.06856=OAACPON57=AJX369=224710=122 > 8=FIX.4.29=9035=234=225049=OAACPON50=AJX52=20101216-06:57:47.28756=CME57=G142=AJXDC7=283116=010=028 > > -- View this message in context: http://old.nabble.com/CME-dropcopy-certification-quickfix-c--1.14.2-sending-resend-instead-of-heartbeat-tp30478491p30482646.html Sent from the QuickFIX - User mailing list archive at Nabble.com. |
From: jyua44 <jy...@ho...> - 2010-12-17 16:57:52
|
Very sorry. What my mind is today. I meant I set PersistMessage=N in my config, not 'Y' in my previous post. Still question is, when set to 'N', are you awere the problem you mentioned is resolved in some later releases? Thanks jyua44 wrote: > > I am doing CME dropcopy cert and have a problem as follows: > 1. CME sends me a resend request with 35=2, say with seq number 34 = > 10; > 2. My quickfix engine sends back gapfill with 35 = 4; > 3. My quickfix engine send back heartbeat; > 4. CME sends me a heartbeat with seq number 34 = 11; > 5. send back resend request with 35 = 2 for seq number 10. This is not > desired. Some how, the quickfix engine does not remember RESEND REQUEST > seq number 10 already received. The desired behavior by the > certification is sending back a heartbeat. > > Anybody know how to resolve this? > > Here are the fix messages: > 8=FIX.4.29=8935=234=283149=CME50=G52=20101216-06:57:17.06056=OAACPON57=AJX369=22467=224716=010=139 > 8=FIX.4.29=12335=434=224743=Y49=OAACPON50=AJX52=20101216-06:57:17.27256=CME57=G122=20101216-06:57:17.272142=AJXDC36=2249123=Y10=215 > 8=FIX.4.29=7835=034=224949=OAACPON50=AJX52=20101216-06:57:47.27156=CME57=G142=AJXDC10=009 > 8=FIX.4.29=7735=034=283249=CME50=G52=20101216-06:57:47.06856=OAACPON57=AJX369=224710=122 > 8=FIX.4.29=9035=234=225049=OAACPON50=AJX52=20101216-06:57:47.28756=CME57=G142=AJXDC7=283116=010=028 > > -- View this message in context: http://old.nabble.com/CME-dropcopy-certification-quickfix-c--1.14.2-sending-resend-instead-of-heartbeat-tp30478491p30482830.html Sent from the QuickFIX - User mailing list archive at Nabble.com. |