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)