You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Anton Kalashnikov (JIRA)" <ji...@apache.org> on 2018/05/11 11:57:00 UTC
[jira] [Assigned] (IGNITE-8464) WALIterator broken (race on the
switch to the next segment during iteration and concurrent archiving same
segment)
[ https://issues.apache.org/jira/browse/IGNITE-8464?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Anton Kalashnikov reassigned IGNITE-8464:
-----------------------------------------
Assignee: Anton Kalashnikov
> WALIterator 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
> Components: persistence
> Affects Versions: 2.5
> Reporter: Dmitriy Govorukhin
> Assignee: Anton Kalashnikov
> Priority: Major
> Fix For: 2.6
>
>
> 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)