You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Dmitriy Govorukhin (JIRA)" <ji...@apache.org> on 2018/05/10 11:21:00 UTC

[jira] [Created] (IGNITE-8464) WALItreater broken (race on the switch to the next segment during iteration and concurrent archiving same segment)

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)