[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); }
Generated at Sat Nov 23 13:58:21 UTC 2024 using JIRA 7.5.2#75007-sha1:9f5725bb824792b3230a5d8716f0c13e296a3cae.