Dmitriy Govorukhin created IGNITE-8464:
------------------------------------------

             Summary: WALItreater broken (race on the switch to the next 
segment during iteration and concurrent archiving same segment)
                 Key: IGNITE-8464
                 URL: https://issues.apache.org/jira/browse/IGNITE-8464
             Project: Ignite
          Issue Type: Bug
            Reporter: Dmitriy Govorukhin


FileArchiver

{code}

final SegmentArchiveResult res = archiveSegment(toArchive);

synchronized (this) {
 while (locked.containsKey(toArchive) && !stopped)
 wait();
}

// Firstly, format working file
if (!stopped)
 formatFile(res.getOrigWorkFile());

synchronized (this) {
 // Then increase counter to allow rollover on clean working file
 changeLastArchivedIndexAndNotifyWaiters(toArchive);

 notifyAll();
}

{code}

Some thread may try read segments when archive formating file in work dir 
(formatFile not synchronized), last archived index is still not updated.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to