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)