You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Robert Muir (JIRA)" <ji...@apache.org> on 2014/12/18 18:52:13 UTC

[jira] [Updated] (LUCENE-6124) Fix broken close() methods

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

Robert Muir updated LUCENE-6124:
--------------------------------
    Attachment: LUCENE-6124_asserts.patch

Here is the simple change i added to asserting codec... these are all bugs. And we should think about other things we could test too. 

Maybe BaseXXXTestCase can do it, to have better coverage across all codecs (and backwards ones). We should also think about BaseDirectoryTestCase for .store apis, and similar.

> Fix broken close() methods
> --------------------------
>
>                 Key: LUCENE-6124
>                 URL: https://issues.apache.org/jira/browse/LUCENE-6124
>             Project: Lucene - Core
>          Issue Type: Bug
>            Reporter: Robert Muir
>         Attachments: LUCENE-6124_asserts.patch
>
>
> Closeable.close() says "If the stream is already closed then invoking this method has no effect.".
> But a lot of our code does not really respect that. If i add an "extra" close() call in assertingcodec, it finds all kinds of bugs in codec code, for example:
> {noformat}
>    [junit4] Tests with failures (first 10 out of 59):
>    [junit4]   - org.apache.lucene.index.TestCrashCausesCorruptIndex.testCrashCorruptsIndexing
>    [junit4]   - org.apache.lucene.codecs.asserting.TestAssertingPostingsFormat.testDocsOnly
>    [junit4]   - org.apache.lucene.codecs.asserting.TestAssertingPostingsFormat.testDocsAndFreqsAndPositionsAndOffsetsAndPayloads
>    [junit4]   - org.apache.lucene.codecs.asserting.TestAssertingPostingsFormat.testDocsAndFreqs
>    [junit4]   - org.apache.lucene.codecs.asserting.TestAssertingPostingsFormat.testDocsAndFreqsAndPositionsAndOffsets
>    [junit4]   - org.apache.lucene.codecs.asserting.TestAssertingPostingsFormat.testRandom
>    [junit4]   - org.apache.lucene.codecs.asserting.TestAssertingPostingsFormat.testDocsAndFreqsAndPositionsAndPayloads
>    [junit4]   - org.apache.lucene.codecs.asserting.TestAssertingPostingsFormat.testDocsAndFreqsAndPositions
>    [junit4]   - org.apache.lucene.index.TestDirectoryReader.testFilesOpenClose
>    [junit4]   - org.apache.lucene.index.TestIndexWriterDelete.testIndexingThenDeleting
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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