You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Simon Willnauer (JIRA)" <ji...@apache.org> on 2018/04/23 12:01:00 UTC

[jira] [Commented] (LUCENE-8269) Detach downstream classes from IndexWriter

    [ https://issues.apache.org/jira/browse/LUCENE-8269?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16448026#comment-16448026 ] 

Simon Willnauer commented on LUCENE-8269:
-----------------------------------------

[https://github.com/s1monw/lucene-solr/pull/13/] /cc [~mikemccand]

> Detach downstream classes from IndexWriter
> ------------------------------------------
>
>                 Key: LUCENE-8269
>                 URL: https://issues.apache.org/jira/browse/LUCENE-8269
>             Project: Lucene - Core
>          Issue Type: Improvement
>    Affects Versions: 7.4, master (8.0)
>            Reporter: Simon Willnauer
>            Priority: Major
>             Fix For: 7.4, master (8.0)
>
>         Attachments: LUCENE-8269.patch
>
>
> IndexWriter today is shared with many classes like BufferedUpdateStream,
> DocumentsWriter and DocumentsWriterPerThread. Some of them even acquire locks
> on the writer instance or assert that the current thread doesn't hold a lock.
>     This makes it very difficult to have a manageable threading model.
>     
>     This change separates out the IndexWriter from those classes and makes them all
>     independent of IW. IW now implements a new interface for DocumentsWriter to communicate
>     on failed or successful flushes and tragic events. This allows IW to make it's critical
>     methods private and execute all lock critical actions on it's private queue that ensures
>     that the IW lock is not held. Follow-up changes will try to detach more code like
>     publishing flushed segments to ensure we never call back into IW in an uncontrolled way.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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