You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Erick Erickson (JIRA)" <ji...@apache.org> on 2017/11/22 19:20:00 UTC

[jira] [Updated] (LUCENE-8048) Filesystems do not guarantee order of directories updates

     [ https://issues.apache.org/jira/browse/LUCENE-8048?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Erick Erickson updated LUCENE-8048:
-----------------------------------
    Attachment: LUCENE-8048.patch

So it seems like the consensus is to go ahead and make this change. one-line patch attached, I'll run precommit and test on it but don't expect any issues.

Any objections to checking this in? If not I'll take care of it over the next day or two.

> Filesystems do not guarantee order of directories updates
> ---------------------------------------------------------
>
>                 Key: LUCENE-8048
>                 URL: https://issues.apache.org/jira/browse/LUCENE-8048
>             Project: Lucene - Core
>          Issue Type: Bug
>            Reporter: Nikolay Martynov
>         Attachments: LUCENE-8048.patch
>
>
> Currently when index is written to disk the following sequence of events is taking place:
> * write segment file
> * sync segment file
> * write segment file
> * sync segment file
> ...
> * write list of segments
> * sync list of segments
> * rename list of segments
> * sync index directory
> This sequence leads to potential window of opportunity for system to crash after 'rename list of segments' but before 'sync index directory' and depending on exact filesystem implementation this may potentially lead to 'list of segments' being visible in directory while some of the segments are not.
> Solution to this is to sync index directory after all segments have been written. [This commit|https://github.com/mar-kolya/lucene-solr/commit/58e05dd1f633ab9b02d9e6374c7fab59689ae71c] shows idea implemented. I'm fairly certain that I didn't find all the places this may be potentially happening.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org