[ https://issues.apache.org/jira/browse/LUCENE-4649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13542178#comment-13542178 ]
Robert Muir commented on LUCENE-4649: ------------------------------------- the main bug in the current patch is how we swallow things in IndexWriter.close this whole thing should act like IOUtils.close() and have a 'Exception priorException'. We can check the interrupt bit to determine that we should not wait when calling finishMerges(), but thats it! we should try to close everything down and ensure that prior exception (ClosedByInterrupt, InterruptedIO, Runtime, whatever the hell it is) gets thrown too. > kill ThreadInterruptedException > ------------------------------- > > Key: LUCENE-4649 > URL: https://issues.apache.org/jira/browse/LUCENE-4649 > Project: Lucene - Core > Issue Type: Bug > Reporter: Robert Muir > Attachments: LUCENE-4649_broken.patch, LUCENE-4649.patch > > > 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