[QFJ-368] removeGroup causes BodyLength miscalculation Created: 04/Nov/08 Updated: 11/Feb/09 Resolved: 26/Nov/08 |
|
Status: | Closed |
Project: | QuickFIX/J |
Component/s: | Engine |
Affects Version/s: | None |
Fix Version/s: | 1.4.0 |
Type: | Bug | Priority: | Critical |
Reporter: | Alvin Wang | Assignee: | Unassigned |
Resolution: | Fixed | Votes: | 0 |
Labels: | None |
Description |
I was trying to retrieve NoPartyIDs group from an Execution Report, and remove NoPartySubIDs group from the NoPartyIDs group, and then add the NoPartyIDs group to an Allocation Instruction . At this point, I suspect there is a bug in the library (removing subgroup from a group and adding that group to a message), because the BodyLength(9) in the message (Allocation Instruction) is wrong (greater than the correct number). My counterparty disconnected the session due to this error and then my FIX server resent the message with PossDupFlag(43)=Y after reconnection, then the BodyLength is correct in the resent message. Looking at the removeGroup in FieldMap.java, I wonder if it should adjust the group count? thanks. public void removeGroup(int field) { getGroups(field).clear(); removeField(field); } |
Comments |
Comment by Alvin Wang [ 05/Nov/08 ] |
here is the bug fix: public void removeGroup(int field) { getGroups(field).clear(); groups.remove(field); removeField(field); } |