Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 1.5.3
-
Fix Version/s: 1.6.2
-
Component/s: None
-
Labels:
-
Environment:Eclipse, Windows
Description
In the function nextResendRequest(Message resendRequest) you have this code at the end of the loop
if (begin != 0)
{ generateSequenceReset(begin, msgSeqNum + 1); } if (endSeqNo > msgSeqNum) {
endSeqNo = endSeqNo + 1;
final int next = state.getNextSenderMsgSeqNum();
if (endSeqNo > next)
generateSequenceReset(beginSeqNo, endSeqNo);
}
=> when you are on the case generating two Sequence Reset at the end of resend request you have an issue of FIX(34) in the last Sequence Reset:
Sequence Reset Message 1 begin != 0 => FIX(34)=begin => OK
Sequence Reset Message 2 endSeqNo > msgSeqNum => FIX(34)=beginSeqNo but beginSeqNo < begin => critical error in protocol it have to be FIX(34)=msgSeqNum+1 ( value sent in the message 1 with NewNoSeq=msgSeqNum+1)