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

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

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

Anton Vinogradov (Jira)
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)