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

Robert Muir commented on LUCENE-4649:
-------------------------------------

{quote}
A major problem is also to catch Throwable or Exception and wrap it by another 
exception, because it also looses the interrupt status. E.g. IOUtils.close...() 
must also not suppress this (unless it is rethrown as original 
InterruptedException).
{quote}

Actually this one is fine. because Closeable cannot throw the checked 
InterruptedException.

Its only the code catching shit around methods like sleep/wait/etc that throw 
checked InterruptedExceptions that need to be fixed to do the right thing.

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

Reply via email to