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

Ivan Kelly commented on BOOKKEEPER-620:
---------------------------------------

{quote}I don't understand why you say this couldn't happen. Map#keySet just 
returned a view of the keys, which is backed by the underlying map, the changes 
to underlying map would affect the set view and vice-versa{quote}
You're right. I assumed wrongly that keySet() constructed a new set. I've 
updated the patch to use guava's ImmutableSet to store the keys to be errored 
out. 
                
> PerChannelBookieClient race during channel disconnect
> -----------------------------------------------------
>
>                 Key: BOOKKEEPER-620
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-620
>             Project: Bookkeeper
>          Issue Type: Bug
>          Components: bookkeeper-client
>            Reporter: Sijie Guo
>            Assignee: Ivan Kelly
>             Fix For: 4.2.2, 4.3.0
>
>         Attachments: 
> 0001-BOOKKEEPER-620-PerChannelBookieClient-race-during-ch.patch, 
> 0001-BOOKKEEPER-620-PerChannelBookieClient-race-during-ch.patch, 
> 0001-BOOKKEEPER-620-PerChannelBookieClient-race-during-ch.patch, 
> 0001-BOOKKEEPER-620-PerChannelBookieClient-race-during-ch.patch, 
> 0002-BOOKKEEPER-620-PerChannelBookieClient-race-during-ch.patch, 
> BOOKKEEPER-620.diff
>
>
> channel & state are not synchronized in PerChannelBookieClient#closeInternal. 
> so it might cause state is set to CONNECTED but the netty channel is closed 
> by mistake in closeInternal.

--
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

Reply via email to