[ 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