[QFJ-928] SequenceReset not processed when out of order messages received Created: 21/Jun/17  Updated: 12/Nov/18  Resolved: 12/Nov/18

Status: Closed
Project: QuickFIX/J
Component/s: None
Affects Version/s: 1.5.3
Fix Version/s: None

Type: Bug Priority: Blocker
Reporter: Yang Cheng Assignee: Unassigned
Resolution: Duplicate Votes: 2
Labels: None

Issue Links:
Duplicate
duplicates QFJ-814 Sequence Reset Fails Closed
is duplicated by QFJ-927 Message sequence number mismatch and ... Closed

 Description   

Please see issue below, other tags removed. M-DAQ received sequence numbers 3->7->4->5->8->9 which is in wrong order and missing 34=6
2017-06-19 16:01:45,176 [SocketConnectorIoProcessor-1.0] INFO incoming A52=20170619-08:01:44.789^ A34=325463
2017-06-19 16:01:45,177 [SocketConnectorIoProcessor-1.0] INFO incoming A52=20170619-08:01:44.973^ A34=325467
2017-06-19 16:01:45,177 ERROR quickfixj.errorEvent MsgSeqNum too high, expecting 325464 but received 325467: A34=325467
2017-06-19 16:01:45,177 Enqueued at pos 325467:
2017-06-19 16:01:45,177 [QFJ Message Processor] INFO incoming A52=20170619-08:01:44.830^ A34=325464
2017-06-19 16:01:45,177 [QFJ Message Processor] INFO incoming A52=20170619-08:01:44.854^ A34=325465
2017-06-19 16:01:45,177 [SocketConnectorIoProcessor-1.0] INFO incoming A52=20170619-08:01:44.997^ A34=325468
2017-06-19 16:01:45,177 [QFJ Message Processor] INFO incoming A52=20170619-08:01:45.004^ A34=325469

After M-DAQ got 7, M-DAQ enqueued 7 and publish out resend request for 4-6.
2017-06-19 16:01:45,179 outgoing A35=2 A7=325464 (RESEND REQUEST)
2017-06-19 16:01:45,179 Sent ResendRequest FROM: 325464 TO: 325466

At the same time M-DAQ proceeded 4,5 and the next incoming sequence number expected is 6 now.
2017-06-19 16:01:45,179 ERROR quickfixj.errorEvent MsgSeqNum too high, expecting 325466 but received 325468: A34=325468

M-DAQ enqueued 8 again and not sending resend request due to sent already.
2017-06-19 16:01:45,179 [QFJ Message Processor] INFO quickfixj.event - FIX.4.4:M-DAQ->Client: Enqueued at pos 325468: A34=325468
2017-06-19 16:01:45,179 [QFJ Message Processor] INFO quickfixj.event - FIX.4.4:M-DAQ->Client: Already sent ResendRequest FROM: 325464 TO: 325466. Not sending another.

Same as 8, and following incoming 9,10,11,12,13,14,15 M-DAQ just enqueued every coming new message and wait for 6.

Client finally ack the resend request and send M-DAQ ask reset from 4 to 16, but Quickfix/J does not process this as its still expect 6.
2017-06-19 16:01:45,513 [SocketConnectorIoProcessor-1.0] INFO quickfixj.msg.incoming - FIX.4.4:M-DAQ->Client: 8=FIX.4.4^A9=86^A35=4^A34=325464^A43=Y^A56=M-DAQ^A49=Client^A52=20170619-08:01:45.351^A123=Y^A36=325476^A10=214^A
2017-06-19 16:01:45,532 [SocketConnectorIoProcessor-1.0] INFO quickfixj.msg.incoming - FIX.4.4:M-DAQ->Client: A34=325476
2017-06-19 16:01:45,532 [QFJ Message Processor] ERROR quickfixj.errorEvent - FIX.4.4:M-DAQ->Client: MsgSeqNum too high, expecting 325466 but received 325476: A34=325476

For the following incoming messages keep enqueued and keep expecting 6
2017-06-19 16:01:45,532 [QFJ Message Processor] INFO quickfixj.event - FIX.4.4:M-DAQ->Client: Enqueued at pos 325476: A34=325476
2017-06-19 16:01:45,540 [SocketConnectorIoProcessor-1.0] INFO quickfixj.msg.incoming - FIX.4.4:M-DAQ->Client: A34=325477
2017-06-19 16:01:45,540 [QFJ Message Processor] ERROR quickfixj.errorEvent - FIX.4.4:M-DAQ->Client: MsgSeqNum too high, expecting 325466 but received 325477: A34=325477
2017-06-19 16:01:45,540 [QFJ Message Processor] INFO quickfixj.event - FIX.4.4:M-DAQ->Client: Enqueued at pos 325477: A34=325477
...

The question is, is this a known bug and has it been solved already?



 Comments   
Comment by Yang Cheng [ 21/Jun/17 ]

Similar issue here http://www.quickfixj.org/jira/browse/QFJ-814

Generated at Tue May 07 07:10:15 UTC 2024 using JIRA 7.5.2#75007-sha1:9f5725bb824792b3230a5d8716f0c13e296a3cae.