|
From: Toli K. <to...@ma...> - 2007-09-17 19:40:51
|
Hey, I also posted this as a JIRA question 236: http://www.quickfixj.org/jira/browse/QFJ-236 We've been going through a certification process with TransactTools (http://www.openfix.net/), and encountered a different expected behaviour with sending Test Requests. In the TransactTools test, they skip a heartbeat message and expect our quickfix engine (Ie QFJ) to send a test request: "We suppressed our last heartbeat message. In response we expected to receive a test request message from you within 9 seconds (30% of the HeartBeatInt field) but did not." Seems like they expect it to be sent within HeartBeatInt+9secs. Looking at the code in SessionState.isTestRequestNeeded(), it calculates the Test Request delay as 1.5 * (HeartBeatInt + numTestRequestsSent + 1), which translates into HeartBeatInt * 1.5 (for first request) = 30 + 15secs, which is over the +9 seconds that's expected. Is there a known spec for this formula or was it something "reasonable" but not necessarily standard? Maybe it's something we need to make configurable to satisfy different expectations form counterparties? thoughts? -- Toli Kuznets http://www.marketcetera.com: Open-Source Trading Platform download.run.trade. |
|
From: Steve B. <st...@te...> - 2007-09-17 23:35:53
|
Hi Toli, This is a vague area of the spec. The specification says the test request should be sent after the missed heartbeat plus "some reasonable transmission time". The definition of reasonable is left to the implementer. QF and QFJ consider 50% of the heart beat interval to be reasonable. Apparently TransactTools uses 30%. If you want to submit a patch to make this configurable, I'll add it although it will probably only be used for OpenFix certification. IIRC, there are several other tests that fail because of differing interpretation of ambiguous areas of the specification. Regards, Steve > -----Original Message----- > From: qui...@li... [mailto:quickfixj- > use...@li...] On Behalf Of Toli Kuznets > Sent: Monday, September 17, 2007 3:41 PM > To: qui...@li... > Subject: [Quickfixj-users] Question about calculating time to send a > TestRequest message > > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > Hey, > > I also posted this as a JIRA question 236: > http://www.quickfixj.org/jira/browse/QFJ-236 > > We've been going through a certification process with TransactTools > (http://www.openfix.net/), and encountered a different expected > behaviour with sending Test Requests. > > In the TransactTools test, they skip a heartbeat message and expect > our quickfix engine (Ie QFJ) to send a test request: > "We suppressed our last heartbeat message. > In response we expected to receive a test request message from you > within 9 seconds (30% of the HeartBeatInt field) but did not." > > Seems like they expect it to be sent within HeartBeatInt+9secs. > Looking at the code in SessionState.isTestRequestNeeded(), it > calculates the Test Request delay as 1.5 * (HeartBeatInt + > numTestRequestsSent + 1), which translates into HeartBeatInt * 1.5 > (for first request) = 30 + 15secs, which is over the +9 seconds that's > expected. > > Is there a known spec for this formula or was it something > "reasonable" but not necessarily standard? Maybe it's something we > need to make configurable to satisfy different expectations form > counterparties? > > thoughts? > > -- > Toli Kuznets > http://www.marketcetera.com: Open-Source Trading Platform > download.run.trade. > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2005. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users |
|
From: Toli K. <to...@ma...> - 2007-09-19 01:16:54
|
Steve, I changed this into an RFE and added a patch that fixes it. let me know what you think: http://www.quickfixj.org/jira/browse/QFJ-236 We've been trying to get Marketcetera OpenFIX certified, so Graham filed a few other bugs/RFEs for that, and i'll try to go through and fix them all. Let me know if you have any thoughts on how to approach it best, so that i don't step on any assumptions during my implementation. Also, do you want me to just send you patches for all of these for review first, in case there are better approaches instead? Also, i've noticed that you are getting ready to release 1.3.0 - it'd be great if we can get these fixes in, but it's quite all right if we don't, we can just ship Marketcetera with a custom build of QFJ if needed. We are doing a dot release with bug-fixes only anyway, so it's not that big of a deal. thanks On 9/17/07, Steve Bate <st...@te...> wrote: > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > Hi Toli, > > This is a vague area of the spec. The specification says the test request > should be sent after the missed heartbeat plus "some reasonable > transmission time". The definition of reasonable is left to the > implementer. QF and QFJ consider 50% of the heart beat interval to be > reasonable. Apparently TransactTools uses 30%. If you want to submit > a patch to make this configurable, I'll add it although it will > probably only be used for OpenFix certification. IIRC, there are several > other tests that fail because of differing interpretation of ambiguous > areas of the specification. > > Regards, > > Steve > > > -----Original Message----- > > From: qui...@li... [mailto:quickfixj- > > use...@li...] On Behalf Of Toli Kuznets > > Sent: Monday, September 17, 2007 3:41 PM > > To: qui...@li... > > Subject: [Quickfixj-users] Question about calculating time to send a > > TestRequest message > > > > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > > QuickFIX/J Support: http://www.quickfixj.org/support/ > > Hey, > > > > I also posted this as a JIRA question 236: > > http://www.quickfixj.org/jira/browse/QFJ-236 > > > > We've been going through a certification process with TransactTools > > (http://www.openfix.net/), and encountered a different expected > > behaviour with sending Test Requests. > > > > In the TransactTools test, they skip a heartbeat message and expect > > our quickfix engine (Ie QFJ) to send a test request: > > "We suppressed our last heartbeat message. > > In response we expected to receive a test request message from you > > within 9 seconds (30% of the HeartBeatInt field) but did not." > > > > Seems like they expect it to be sent within HeartBeatInt+9secs. > > Looking at the code in SessionState.isTestRequestNeeded(), it > > calculates the Test Request delay as 1.5 * (HeartBeatInt + > > numTestRequestsSent + 1), which translates into HeartBeatInt * 1.5 > > (for first request) = 30 + 15secs, which is over the +9 seconds that's > > expected. > > > > Is there a known spec for this formula or was it something > > "reasonable" but not necessarily standard? Maybe it's something we > > need to make configurable to satisfy different expectations form > > counterparties? > > > > thoughts? > > > > -- > > Toli Kuznets > > http://www.marketcetera.com: Open-Source Trading Platform > > download.run.trade. > > > > ------------------------------------------------------------------------- > > This SF.net email is sponsored by: Microsoft > > Defy all challenges. Microsoft(R) Visual Studio 2005. > > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > _______________________________________________ > > Quickfixj-users mailing list > > Qui...@li... > > https://lists.sourceforge.net/lists/listinfo/quickfixj-users > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2005. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users > -- Toli Kuznets http://www.marketcetera.com: Open-Source Trading Platform download.run.trade. |