[ 
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: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to