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

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

No no no. I thought my example was pretty good. I guess not.

This is unrelated to mmap etc. This is about guys catching interruptedexc from 
thread.sleep and so on. An example of this is given above in the description of 
this issue, that's fsdirectorys sync impl. It sleeps sometimes. If its 
interrupted during sleep, we should:
1. Restore status
2. Throw non crazy exc.

We don't need to change method Signatures. Interested users can check interrupt 
status and it will now actually work the way it should in a java program. 
Threadinterruptedexc is not that. The current scheme is senseless and broken. 
                
> 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