Uploaded image for project: 'QuickFIX/J'
  1. QuickFIX/J
  2. QFJ-660

Sequence number file can become corrupted.

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Default
    • Resolution: Fixed
    • Affects Version/s: 1.5.2
    • Fix Version/s: 1.5.3
    • Component/s: Engine
    • Labels:
      None
    • Environment:
      Windows, QFJ under heavy load (performance test)

      Description

      I keep meaning to investigate this ...

      I've seen this a few times and reported it on the forum with no response, basically it appears possible to end up with two sets of sequence numbers in the seqnum file (I assume that's not intentional).

      I suspect if the engine were to fail at the exact time the bug occurs the current sequence numbers could be wrong ?, this should be very, very unlikely though potentially serious.

      So Expected seqnum file :
      <length><Seq 1>:<Seq2>

      corrupted file ..
      <length1><Seq 1>:<Seq 2><length2><Another Seq 1>:<Another Seq 2>

      The session does not fail with such a corrupted file or show ill effect, I suspect possible session recovery would be the only issue and as the file can still be read only at the exact point the corruption occurred.

      The only explanation I can think of is ..
      I was wondering if this was a multithreading issue with FileStore.storeSequenceNumbers ? I keep meaning to check if this can be called by multiple threads for a single session as that would fit, ie two threads try to move to the start of the file and write at the same time ?

        Attachments

          Activity

            People

            • Assignee:
              chrjohn Christoph John
              Reporter:
              chris hurst Christopher Hurst
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: