lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yonik Seeley (JIRA)" <>
Subject [jira] Commented: (LUCENE-690) LazyField use of IndexInput not thread safe
Date Thu, 19 Oct 2006 20:28:36 GMT
    [ ] 
Yonik Seeley commented on LUCENE-690:

> Do you have a preference on aggressive cloning vs. synching?

Not too much... synching was presumably avoided for better concurrency.  If we wanted to sync
in LazyField, it would currently need to be on the SegmentReader object, since that's the
monitor protecting the fieldStream.

Could also perhaps lazily create the "cloneable stream"  the first time a lazy field is created,
since we are currently in a synchronized context when that happens.

A different route would be to convert normal document() loading to also use thread-local fieldStreams
for better concurrency.  It would mean a thread-local lookup per document though, and I'm
not sure what the expense of that would be.

> LazyField use of IndexInput not thread safe
> -------------------------------------------
>                 Key: LUCENE-690
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Store
>    Affects Versions: 2.0.1
>            Reporter: Yonik Seeley
>         Attachments: FieldsReader.patch
> Hypothetical problem: IndexInput.clone() of an active IndexInput could result in a corrupt
> LazyField clones the FieldsReader.fieldsStream, which could be in use via IndexReader.document()

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:


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

View raw message