[QFJ-792] Wrong order of fields in a repeating group makes the group ignored Created: 10/Jun/14 Updated: 27/Jul/17 Resolved: 13/Apr/17 |
|
Status: | Closed |
Project: | QuickFIX/J |
Component/s: | Engine |
Affects Version/s: | 1.5.3 |
Fix Version/s: | 1.6.4 |
Type: | Bug | Priority: | Default |
Reporter: | Andrzej Hajderek | Assignee: | Christoph John |
Resolution: | Fixed | Votes: | 0 |
Labels: | None |
Attachments: | MessageTest.java.diff MessageTest.java.patch | ||||||||
Issue Links: |
|
Description |
Hi, Another issue related to repeating groups in the message parsing logic. If two fields within a repeating group are in different order than expected the entire repeating group is ignored. The parsed message does not contain the ignored repeating group. The better approach would be to process the repeating group regardless of the order of fields or to report and error in order to signal the wrong order (assuming ValidateUnorderedGroupFields=Y). Regards, |
Comments |
Comment by Andrzej Hajderek [ 10/Jun/14 ] |
Unit test attached. |
Comment by Andrzej Hajderek [ 10/Jun/14 ] |
Possibly related to |
Comment by Or Ming Chun [ 03/Mar/16 ] |
I have the same issue too. When the incoming message contains unordered group fields, even if I set the ValidateUnorderedGroupFields=N and RejectInvalidMessage=N, the parsed message does not contain the repeating group. Here is the logs: {{<20160303-04:55:18, FIX.4.4:HXFAKEMD->HXFAKE, incoming> (8=FIX.4.49=12135=V34=249=HXFAKE52=20160303-04:55:18.88256=HXFAKEMD262=4001263=1264=0265=0146=148=400122=8267=2269=0269=110=107) You can see the group in the parsed message has been "eaten" and I can do nothing in the Application.fromApp callback. I am not really sure the issue is related to the ValidateUnorderedGroupFields setting or other issues. I have attached a patch of tests to showcase the issue. |
Comment by Christoph John [ 07/Mar/16 ] |
I think there are two sides to this: I agree with you that the parsing logic should not fail if there are group fields out of order. |