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

Robert Muir updated LUCENE-5904:
--------------------------------

    Attachment: LUCENE-5904.patch

Patch fixing 3 bugs so far (Lucene40SIWriter, Lucene46SIWriter, 
CompoundFileWriter). There might be more bugs: we should review all uses of 
Directory.deleteFile to make sure we are doing the right thing.

I also fixed up core tests that currently rely upon e.g. unref'ed files check 
or manipulate files directly to disable the option.

I may have made a mistake or unconvered something in disk full test that i 
havent investigated yet:
{noformat}
   [junit4] Suite: org.apache.lucene.index.TestIndexWriterOnDiskFull
   [junit4]   2> NOTE: reproduce with: ant test  
-Dtestcase=TestIndexWriterOnDiskFull -Dtests.method=testImmediateDiskFull 
-Dtests.seed=2D75D397EE0B3214 -Dtests.locale=ga_IE 
-Dtests.timezone=Europe/Lisbon -Dtests.file.encoding=ISO-8859-1
   [junit4] ERROR   0.20s | TestIndexWriterOnDiskFull.testImmediateDiskFull <<<
   [junit4]    > Throwable #1: java.io.EOFException: read past EOF: 
RAMInputStream(name=segments_1)
   [junit4]    >        at 
__randomizedtesting.SeedInfo.seed([2D75D397EE0B3214:BC3341FB920ADCD0]:0)
   [junit4]    >        at 
org.apache.lucene.store.RAMInputStream.switchCurrentBuffer(RAMInputStream.java:98)
   [junit4]    >        at 
org.apache.lucene.store.RAMInputStream.readByte(RAMInputStream.java:71)
   [junit4]    >        at 
org.apache.lucene.store.MockIndexInputWrapper.readByte(MockIndexInputWrapper.java:122)
   [junit4]    >        at 
org.apache.lucene.store.BufferedChecksumIndexInput.readByte(BufferedChecksumIndexInput.java:41)
   [junit4]    >        at 
org.apache.lucene.store.DataInput.readInt(DataInput.java:98)
   [junit4]    >        at 
org.apache.lucene.index.SegmentInfos.read(SegmentInfos.java:356)
   [junit4]    >        at 
org.apache.lucene.index.SegmentInfos$1.doBody(SegmentInfos.java:463)
   [junit4]    >        at 
org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:804)
   [junit4]    >        at 
org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:650)
   [junit4]    >        at 
org.apache.lucene.index.SegmentInfos.read(SegmentInfos.java:459)
   [junit4]    >        at 
org.apache.lucene.index.CheckIndex.checkIndex(CheckIndex.java:398)
   [junit4]    >        at 
org.apache.lucene.util.TestUtil.checkIndex(TestUtil.java:207)
   [junit4]    >        at 
org.apache.lucene.store.MockDirectoryWrapper.close(MockDirectoryWrapper.java:711)
   [junit4]    >        at 
org.apache.lucene.index.TestIndexWriterOnDiskFull.testImmediateDiskFull(TestIndexWriterOnDiskFull.java:569)
   [junit4]    >        at java.lang.Thread.run(Thread.java:745)
{noformat}

Maybe something isn't quite right in the windows handlign there?

> Add MDW.enableVirusScanner / fix windows handling bugs
> ------------------------------------------------------
>
>                 Key: LUCENE-5904
>                 URL: https://issues.apache.org/jira/browse/LUCENE-5904
>             Project: Lucene - Core
>          Issue Type: Bug
>            Reporter: Robert Muir
>         Attachments: LUCENE-5904.patch, LUCENE-5904.patch
>
>
> IndexWriter has logic to handle the case where it can't delete a file (it 
> puts in a retry list and indexfiledeleter will periodically retry, you can 
> force this retry with deletePendingFiles).
> But from what I can tell, this logic is incomplete, e.g. its not properly 
> handled during CFS creation, so if a file temporarily can't be deleted things 
> like flush will fail.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

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

Reply via email to