[ https://issues.apache.org/jira/browse/LUCENE-3365?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13080942#comment-13080942 ]
Geoff Cooney commented on LUCENE-3365: -------------------------------------- I'm uploading a patch that contains a test that demonstrates this issue as well as a proposed fix. The proposed fix is simply to move the create or append decision a step lower so it occurs after the lock is obtained. > Create or Append mode determined before obtaining write lock > ------------------------------------------------------------ > > Key: LUCENE-3365 > URL: https://issues.apache.org/jira/browse/LUCENE-3365 > Project: Lucene - Java > Issue Type: Bug > Components: core/index > Affects Versions: 3.1, 3.2, 3.3 > Reporter: Geoff Cooney > Priority: Minor > Labels: IndexWriter > > If an IndexWriter("writer1") is opened in CREATE_OR_APPEND mode, it > determines whether to CREATE or APPEND before obtaining the write lock. When > another IndexWriter("writer2") is in the process of creating the index, this > can result in writer1 entering create mode and then waiting to obtain the > lock. When writer2 commits and releases the lock, writer1 is already in > create mode and overwrites the index created by write2. > This bug was probably effected by LUCENE-2386 as prior to that Lucene > generated an empty commit when a new index was created. I think the issue > could still have occurred prior to that but the two IndexWriters would have > needed to be opened nearly simultaneously and the first IndexWriter would > need to release the lock before the second timed out. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org