[QFJ-592] (FIXT .1.1) Application version id can be tested before a previous logon message that sets the default has completed (race condition) Created: 04/May/11 Updated: 04/Dec/12 Resolved: 04/Dec/12 |
|
Status: | Resolved |
Project: | QuickFIX/J |
Component/s: | Engine |
Affects Version/s: | 1.5.0 |
Fix Version/s: | 1.5.3 |
Type: | Bug | Priority: | Default |
Reporter: | Christopher Hurst | Assignee: | Christoph John |
Resolution: | Fixed | Votes: | 1 |
Labels: | WorkFlow | ||
Environment: |
Found on Windows XP but not OS dependent |
Issue Links: |
|
Description |
This has been mentioned on the mailing list with no feedback so ... Ref: FIX Session protocol Version (FIXT) 1.1. Errata In a FIX logon 1137,1147,1408 tags can set defaults for use in future FIX messages e.g. DefaultApplVerID, the behaviour I was seeing was that "12-Apr-2011 15:06:51 quickfix.mina.AbstractIoHandler messageReceived In the debugger it was obvious the thread setting ApplVerID was free to "race" the thread doing preprocessing on the subsequent message i.e The ApplVerID is set in next(Message message) in Session,java if (msgType.equals(MsgType.LOGON)) { else { targetDefaultApplVerID.set(MessageUtils.toApplVerID(beginString)); }} if you put a break point on the above you'll see the next message in (different thread) can still call This method in my case fails as in my workflow the default appl ver id was required to be known (which would be set by the logon). |
Comments |
Comment by Jörg Thönnes [ 29/Nov/12 ] |
|
Comment by Christoph John [ 04/Dec/12 ] |
Committed as rev. 1110. |