You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Michael McCandless (JIRA)" <ji...@apache.org> on 2013/01/01 13:06:12 UTC

[jira] [Commented] (LUCENE-4649) kill ThreadInterruptedException

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

Michael McCandless commented on LUCENE-4649:
--------------------------------------------

OK I see, so the big problem is we are throwing our own exc (ThreadInterruptedException) but *failing* to set the interrupt bit?  Ie this is a violation of the protocol (we can only clear the interrupt status if we throw the true, checked InterruptedException).  I agree with that.

But, I don't see why we should pretend that you hit an IOException when in fact we were interrupted?  That seems worse than throwing ThreadInterruptedExc.
                
> kill ThreadInterruptedException
> -------------------------------
>
>                 Key: LUCENE-4649
>                 URL: https://issues.apache.org/jira/browse/LUCENE-4649
>             Project: Lucene - Core
>          Issue Type: Bug
>            Reporter: Robert Muir
>
> the way we currently do this is bogus.
> For example in FSDirectory's fsync, i think we should instead:
> {noformat}
> } catch (InterruptedException ie) {
> - throw new ThreadInterruptedException(ie);
> + Thread.currentThread().interrupt(); // restore status
> + IOException e = new java.io.InterruptedIOException("fsync() interrupted");
> + e.initCause(ie);
> + throw e;
> {noformat}
> and crazy code in IndexWriter etc that catches ThreadInterruptedExc just to restore status should be removed. 
> Instead the guy doing the catch (InterruptedException) should do the right thing.

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