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

ASF GitHub Bot commented on CURATOR-375:
----------------------------------------

Github user thecoop commented on a diff in the pull request:

    https://github.com/apache/curator/pull/186#discussion_r95382951
  
    --- Diff: 
curator-framework/src/main/java/org/apache/curator/framework/imps/CreateBuilderImpl.java
 ---
    @@ -485,7 +485,6 @@ private String protectedPathInForeground(String 
adjustedPath, byte[] data) throw
             }
             catch ( Exception e)
             {
    -            ThreadUtils.checkInterrupted(e);
    --- End diff --
    
    No, because the `InterruptedException` is rethrown in every case. Thread 
interruption status is represented by _either_ the thread interrupt status _or_ 
an `InterruptedException`, not both. This is mentioned in the Java tutorials at 
http://docs.oracle.com/javase/tutorial/essential/concurrency/interrupt.html:
    
    > By convention, any method that exits by throwing an InterruptedException 
clears interrupt status when it does so. 


> Fix thread interruption being reported twice
> --------------------------------------------
>
>                 Key: CURATOR-375
>                 URL: https://issues.apache.org/jira/browse/CURATOR-375
>             Project: Apache Curator
>          Issue Type: Bug
>    Affects Versions: 2.11.1
>            Reporter: Simon Cooper
>            Assignee: Jordan Zimmerman
>
> When a curator operation thread is interrupted, some classes 
> ({{PersistentNode}} {{ConnectionState}} primarily) report the interruption in 
> two ways at the same time - by re-marking the thread interruption status 
> *and* throwing {{InterruptedException}} - this makes it look like the thread 
> has been interrupted twice, rather than once.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to