[QFJ-567] Would like QuickFix/J to natively support tag NextExpectedMsgSeqNum on logon as detailed in FIX Session Protocol 1.1 Errata Created: 23/Nov/10 Updated: 08/Nov/12 Resolved: 08/Nov/12 |
|
Status: | Resolved |
Project: | QuickFIX/J |
Component/s: | Engine |
Affects Version/s: | 1.5.0, 1.5.2 |
Fix Version/s: | 1.5.3 |
Type: | New Feature | Priority: | Default |
Reporter: | Christopher Hurst | Assignee: | Christoph John |
Resolution: | Fixed | Votes: | 0 |
Labels: | None | ||
Environment: |
ALL |
Attachments: | FIX Tag 789(NextExpectedMsgSeqNum) Description 1.7.pdf FIX Tag 789(NextExpectedMsgSeqNum) Description.pdf QuickFixJ789Change.zip Tag789v1.3PDF.zip | ||||||||
Issue Links: |
|
Description |
The NextExpectedMsgSeqNum (789) field has been added in FIX 4.4 to the logon message to support a proposed way to resynchronize a FIX session. I was led to believe there is no internal QuickFix/J implementation pending and I have coded a configurable solution (as I have a pressing need for it), which I am currently testing I would like the solution to be integrated into QuickFix/J proper in a future version as that would make it a lot easier for me to maintain going forward. I can supply source code changes and /or an additional document describing the work flow in various scenarios on request for feedback. |
Comments |
Comment by Christopher Hurst [ 17/Mar/11 ] |
Updated version of the document following feedback. |
Comment by Eric Deshayes [ 31/May/11 ] |
Committed in Rev#1041. |
Comment by Christopher Hurst [ 06/Mar/12 ] |
Hi, I don't think this issue is resolved, can we change the status. I supplied a fully tested 789 implementation all we've done in the released implementation is set to the 789 (which could have been added to a QFJ client application) to the next expected sequence number but the current implementation can't cope with any implicit resend or 789 being sent back in the logon response. Any performance benefits of 789 are lost. The issue is you can't add this on top of QuickFIX this has to go into the core fix engine so I'm forced to branch QFJ. I tried 1.5.1 with a sever that supports 789 and it actually failed to recover a session with the tag on (not sure why yet I'll have to dig). The server responded to the implicit logon but QFJ are requested an unnecessary resend. |
Comment by Christopher Hurst [ 06/Mar/12 ] |
Code changes requited. |
Comment by Andrzej Hajderek [ 17/Sep/12 ] |
Just proposed a small change that would push things forward just a little bit: http://www.quickfixj.org/jira/browse/QFJ-705 Chris, If you could comment on it, it would be great. (We're trying to connect to your MAPI engine with QuickFIX/J.) |
Comment by Christopher Hurst [ 17/Sep/12 ] |
Hi, I would suggest the ideal solution was to fully support 789 (albeit optionally), I supplied a fully working solution all scenarios supported / scenario tested and soak tested against (1.5.0). As 789 is incomplete and required by us I had to do a less than trivial merge for 1.5.2 to enable my internal branch to work correctly again. If you look at the code I originally submitted you can see the work I did on 1.5.0 nextLogon to compare and contrast with the suggested changes. Chris |
Comment by Christoph John [ 17/Sep/12 ] |
hi, |
Comment by Andrzej Hajderek [ 17/Sep/12 ] |
Hi, I proposed the yet another partial solution under The fact that this I agree that the full solution proposed here would be best, although it will require additional work now. Regards, |
Comment by Christopher Hurst [ 18/Sep/12 ] |
Hi, I still think the full solution is the simplest. We're in a strong position to test this at the moment; that may not be the case in the future as it requires I can shadow the current builds and have access to the same test resources. If we extend the existing acceptance scenarios in the existing 789 tests to all the scenarios in the original document we uploaded we should have full acceptance coverage. I currently have a version of QF/J with my 789 changes, which I can soak test against another compliant FIX engine for increased confidence. Obviously 789 is optional by (default) configuration so we should have no harms. Chris |
Comment by Andrzej Hajderek [ 18/Sep/12 ] |
Hi, I agree with CH - The two line chane I proposed will not provide the full support for tag 789. This In fact it would be better to close Regards, |
Comment by Andrzej Hajderek [ 18/Sep/12 ] |
BTW: I wouldn't ignore Christopher's offer to test the full change. As far as I'm aware he's already got a production version of his COMPLETE fix running. (Especially after he was being ignored since March . Andrzej |
Comment by Christoph John [ 18/Sep/12 ] |
Agreed. |
Comment by gemma hagen [ 03/Oct/12 ] |
Hi, We have the requirement to support this behaviour on logon for MAPI. Thanks Gemma |
Comment by Christoph John [ 12/Oct/12 ] |
We plan to release end of October/beginning of November. |
Comment by Christoph John [ 07/Nov/12 ] |
Committed as rev #1094. Thanks to Christopher Hurst for suggested patch against 1.5.0 and doing quite some tests. |