lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael McCandless (JIRA)" <>
Subject [jira] Updated: (LUCENE-1579) Cloned SegmentReaders fail to share FieldCache entries
Date Sat, 28 Mar 2009 19:02:50 GMT


Michael McCandless updated LUCENE-1579:

    Attachment: LUCENE-1579.patch

Attached patch.  I plan to commit in a day or two.

I added a new deprecated expert public method to IndexReader:
getFieldCacheWrapper().  Default impl is to return "this", but
SegmentReader overrides that and returns a wrapper class that forwards
hashCode()/equals() to the underlying freqStream.

> Cloned SegmentReaders fail to share FieldCache entries
> ------------------------------------------------------
>                 Key: LUCENE-1579
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Index
>    Affects Versions: 2.9
>            Reporter: Michael McCandless
>            Assignee: Michael McCandless
>             Fix For: 2.9
>         Attachments: LUCENE-1579.patch
> I just hit this on LUCENE-1516, which returns a cloned readOnly
> readers from IndexWriter.
> The problem is, when cloning, we create a new [thin] cloned
> SegmentReader for each segment.  FieldCache keys directly off this
> object, so if you clone the reader and do a search that requires the
> FieldCache (eg, sorting) then that first search is always very slow
> because every single segment is reloading the FieldCache.
> This is of course a complete showstopper for LUCENE-1516.
> With LUCENE-831 we'll switch to a new FieldCache API; we should ensure
> this bug is not present there.  We should also fix the bug in the
> current FieldCache API since for 2.9, users may hit this.

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