[ 
https://issues.apache.org/jira/browse/BOOKKEEPER-671?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rakesh R updated BOOKKEEPER-671:
--------------------------------

    Component/s: bookkeeper-client

> 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
>             Fix For: 4.3.0
>
>
> 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.1.5#6160)

Reply via email to