NOTE: Jira is for bug reports and feature requests.
If you are entering an issue to ask a question,
please use the QuickFIX/J support options. Thank you.

Issue Details (XML | Word | Printable)

Key: QFJ-534
Type: Bug Bug
Status: Open Open
Priority: Critical Critical
Assignee: Unassigned
Reporter: SSE
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
QuickFIX/J

Resend Request Synchronization Patch

Created: 28/Jun/10 02:47 PM   Updated: 08/Jul/10 03:15 PM
Return to search
Issue 5 of 71 issue(s)
Component/s: Engine
Affects Version/s: 1.4.0
Fix Version/s: 1.5.1

Environment: All


 Description  « Hide

QuickFIX/J has an issue with the file store and message sequence numbers when simultaneously answering a ResendRequest on a connection, and processing brand new messages routed to that connection which are also to be sent to the client. The file pointers were not handled correctly for reading stored messages which are to be sent as PossDups, and for new messages to be written to the outgoing file. This caused outgoing message store file corruption, and repeated / out of sequence seqnums being sent.

Fixed: synchronization QFJ patch, where the thread is blocked from sending new messages (i.e. buffering) until a ResendRequest is fully answered.

    private void nextResendRequest(Message resendRequest) throws IOException, RejectLogon,
     FieldNotFound, IncorrectDataFormat, IncorrectTagValue, UnsupportedMessageType,
            InvalidMessage {
     if (!verify(resendRequest, false, false)) {
               return;
            }

// ******* ADDED *******
state.lockSenderMsgSeqNum();
     try {

int beginSeqNo = resendRequest.getInt(BeginSeqNo.FIELD);
int endSeqNo = resendRequest.getInt(EndSeqNo.FIELD);

getLog().onEvent(
"Received ResendRequest FROM: " + beginSeqNo + " TO: " + formatEndSeqNum(endSeqNo));
....

// ******* ADDED *******
     } finally{
     state.unlockSenderMsgSeqNum();
     }
    }

(Internal reference: IC_57785)

 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
There are no comments yet on this issue.