[ 
https://issues.apache.org/jira/browse/LUCENE-8048?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16277423#comment-16277423
 ] 

Erick Erickson commented on LUCENE-8048:
----------------------------------------

Well, that was short lived optimism. I was running the wrong test. So I'm back 
to looking at whether these two lines in 
TestIndexWriteExceptions.testExceptionDuringCommit are a test error or not:

        new FailOnlyInCommit(false, FailOnlyInCommit.PREPARE_STAGE), // fail 
during global field map is written
        new FailOnlyInCommit(true, FailOnlyInCommit.PREPARE_STAGE), // fail 
after global field map is written

Any help appreciated of course.

> 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
>            Assignee: Erick Erickson
>         Attachments: LUCENE-8048.patch, Screen Shot 2017-11-22 at 12.34.51 
> PM.png
>
>
> 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to