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

Sijie Guo commented on BOOKKEEPER-671:
--------------------------------------

moved it out of 4.3.0, which seems to do refactoring 

> PerChannelBookieClient#channelDisconnected can error out other channel's 
> requests
> ---------------------------------------------------------------------------------
>
>                 Key: BOOKKEEPER-671
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-671
>             Project: Bookkeeper
>          Issue Type: Bug
>          Components: bookkeeper-client
>    Affects Versions: 4.2.1
>            Reporter: Ivan Kelly
>
> Consider the following.
> # Client calls connect() [state=CONNECTING]
> # Client calls disconnect() before connect finishes [state=DISCONNECTED]
> # Client calls connect() [state=CONNECTING]
> # Connect completes, client writes request [state=CONNECTED]
> # channelDisconnected() from previous disconnect() called
> The #channelDisconnected() call will then error out the write request. This 
> is due to the fact that the outstanding request map belongs to the 
> PerChannelBookieClient, rather than to the channel, even though they should 
> belong to the socket on which they were sent out on.
> The solution would be to move the completions into the ChannelHandlerContext. 
> At the same time, we can get rid of the separate read and add lists. This 
> information can be in the keys. Perhaps this fix can be done as part of the 
> transaction id changes.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to