lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Muir (JIRA)" <>
Subject [jira] Updated: (LUCENE-2598) allow tests to use different Directory impls
Date Tue, 24 Aug 2010 16:01:23 GMT


Robert Muir updated LUCENE-2598:

    Attachment: LUCENE-2598.patch

heres the patch improved: the i/o wrappers remove themselves from the map, and the exception
message is nicer. so if you forget to close files, you get:
    [junit] Testsuite: org.apache.lucene.TestDemo
    [junit] Testcase: testDemo(org.apache.lucene.TestDemo):     Caused an ERROR
    [junit] MockRAMDirectory: cannot close: there are still open files: {_0.cfs=1}
    [junit] java.lang.RuntimeException: MockRAMDirectory: cannot close: there are still open
files: {_0.cfs=1}
    [junit]     at
    [junit]     at org.apache.lucene.TestDemo.testDemo(
    [junit]     at org.apache.lucene.util.LuceneTestCase.runBare(
    [junit]     at
    [junit] Caused by: java.lang.RuntimeException: unclosed IndexInput
    [junit]     at
    [junit]     at
    [junit]     at org.apache.lucene.index.CompoundFileReader.<init>(
    [junit]     at org.apache.lucene.index.SegmentReader$CoreReaders.<init>(
    [junit]     at org.apache.lucene.index.SegmentReader.get(
    [junit]     at org.apache.lucene.index.SegmentReader.get(
    [junit]     at org.apache.lucene.index.DirectoryReader.<init>(
    [junit]     at org.apache.lucene.index.DirectoryReader$1.doBody(
    [junit]     at org.apache.lucene.index.SegmentInfos$
    [junit]     at
    [junit]     at
    [junit]     at
    [junit]     at<init>(
    [junit]     at org.apache.lucene.TestDemo.testDemo(

> allow tests to use different Directory impls
> --------------------------------------------
>                 Key: LUCENE-2598
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Test
>          Components: Build
>    Affects Versions: 3.1, 4.0
>            Reporter: Robert Muir
>            Assignee: Robert Muir
>             Fix For: 3.1, 4.0
>         Attachments: LUCENE-2598.patch, LUCENE-2598.patch, LUCENE-2598.patch, LUCENE-2598.patch,
LUCENE-2598.patch, LUCENE-2598.patch, LUCENE-2598.patch
> Now that all tests use MockRAMDirectory instead of RAMDirectory, they are all picky like
windows and force our tests to
> close readers etc before closing the directory.
> I think we should do the following:
> # change new MockRAMDIrectory() in tests to .newDirectory(random)
> # LuceneTestCase[J4] tracks if all dirs are closed at tearDown and also cleans up temp
dirs like solr.
> # factor out the Mockish stuff from MockRAMDirectory into MockDirectoryWrapper
> # allow a -Dtests.directoryImpl or simpler to specify the default Directory to use for
tests: default being "random"
> i think theres a chance we might find some bugs that havent yet surfaced because they
are easier to trigger with FSDir
> Furthermore, this would be beneficial to Directory-implementors as they could run the
entire testsuite against their Directory impl, just like codec-implementors can do now.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message