You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Scott Blum (JIRA)" <ji...@apache.org> on 2015/08/26 20:33:46 UTC

[jira] [Commented] (LUCENE-4638) If IndexWriter is interrupted on close and is using a channel (mmap/nio), it can throw a ClosedByInterruptException and prevent you from opening a new IndexWriter in the same proceses if you are using Native locks.

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

Scott Blum commented on LUCENE-4638:
------------------------------------

Any update on this?  In our mostly-stock 5.2.1 Solr deployment, we are hitting a point where we get cores into a permanently wedged state all the time, and there seems to be no fix except to restart the entire node (JVM).  The IndexWriter gets into a broken state with ClosedByInterrupt, and it never gets out of it, and no new IndexWriter (maybe also no new searchers) can be created.  This is one of our biggest operational issues right now.

> If IndexWriter is interrupted on close and is using a channel (mmap/nio), it can throw a ClosedByInterruptException and prevent you from opening a new IndexWriter in the same proceses if you are using Native locks.
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: LUCENE-4638
>                 URL: https://issues.apache.org/jira/browse/LUCENE-4638
>             Project: Lucene - Core
>          Issue Type: Bug
>            Reporter: Mark Miller
>             Fix For: 4.9, Trunk
>
>         Attachments: LUCENE-4638.patch
>
>
> The ClosedByInterruptException will prevent the index from being unlocked in close. If you try and close again, the call will hang. If you are using native locks and try to open a new IndexWriter, it will fail to get the lock. If you try IW#forceUnlock, it wont work because the not fully closed IW will still have the lock.
> ideas:
> * On ClosedByInterruptException, IW should continue trying to close what it can and unlock the index? Generally I have see the exception trigger in commitInternal.
> * We should add a non static forceUnlock to IW that lets you remove the lock and start a new IW?
> * We should make the lock protected so IW sub classes could unlock the index in advanced use cases?
> * others?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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