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