[
https://issues.apache.org/jira/browse/LUCENE-4638?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13536196#comment-13536196
]
Michael McCandless commented on LUCENE-4638:
--------------------------------------------
Hmm why does the 2nd call to close hang? Do you have the original exc?
IW.rollback() should do a "better job" closing and releasing the lock, and in
general on getting an exception from IW.close I think it's the only real
recourse you have (ie, it's hard to know what docs you lost due to that
exception).
Also, I think LUCENE-4246 (IW.close should "just close", not wait for merges,
commit, etc.) would improve this situation because then close would reliably
release the lock.
> 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
> Priority: Minor
> Fix For: 4.1, 5.0
>
>
> 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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]