lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael McCandless (JIRA)" <>
Subject [jira] Commented: (LUCENE-2772) Make SlowMultiReaderWrapper wrap always so close() is safe
Date Sat, 20 Nov 2010 10:10:15 GMT


Michael McCandless commented on LUCENE-2772:

Looks great Uwe!

> Make SlowMultiReaderWrapper wrap always so close() is safe
> ----------------------------------------------------------
>                 Key: LUCENE-2772
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Sub-task
>            Reporter: Uwe Schindler
>            Assignee: Uwe Schindler
>             Fix For: 4.0
>         Attachments: LUCENE-2772.patch
> The overhead when wrapping an atomic reader using SlowMultiReaderWrapper is very low,
the work done in the static wrap method is much higher (instantiate ArrayList, recusively
went through all subreaders), just to check the number of readers than simply always wrapping.
> MultiFields already is optimized when called by one-segment or atomic readers, so there
is no overhead at all. So this patch removes the static wrap method and you simply wrap like
a TokenFilter with ctor: new SlowMultiReaderWrapper(reader)
> When this is done, there is also no risk to close a SegmentReader (which you should not
do), when wrap() returns a single SegmentReader. This help in parent issue with cleaning up
the case in close().
> The patch aƶlso removes the now useless mainReader/reader variables and simply closes
the wrapper.

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