[
https://issues.apache.org/jira/browse/BOOKKEEPER-654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13753306#comment-13753306
]
Sijie Guo commented on BOOKKEEPER-654:
--------------------------------------
{quote}
I've uploaded latest patch to see the feasibility of this approach. Here I
tried handling RejectedExceptions and cancelling the in_progress requests in
PerChannelBookieClient.
{quote}
for the new patch, it would be better to provide a wrapper of the concurrent
map used to maintain pending requests, which fails following adds after it is
closed, instead of adding channel==null checking everywhere. Also,
channel==null doesn't mean client is closed.
you could refer
https://github.com/apache/bookkeeper/blob/trunk/hedwig-client/src/main/java/org/apache/hedwig/client/netty/CleanupChannelMap.java
as the example for the wrapper.
> Bookkeeper client operations are allowed even after its closure, bk#close()
> ---------------------------------------------------------------------------
>
> Key: BOOKKEEPER-654
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-654
> Project: Bookkeeper
> Issue Type: Bug
> Components: bookkeeper-client
> Affects Versions: 4.2.0
> Reporter: Rakesh R
> Assignee: Rakesh R
> Fix For: 4.3.0
>
> Attachments:
> 0001-BOOKKEEPER-654-Bookkeeper-client-operations-are-allo.patch,
> 0001-BOOKKEEPER-654-testcase-to-understand-more.patch,
> 0002-BOOKKEEPER-654.patch, 0003-BOOKKEEPER-654.patch,
> 0004-BOOKKEEPER-654.patch, 0005-BOOKKEEPER-654.patch,
> 0006-BOOKKEEPER-654-handled-inprogress-and-newrequests.patch
>
>
> User can perform below operations with the closed bookkeeper client, which
> was instantiated with external zkclient.
> - open a closed ledger
> - create a new ledger
> Also, ledgerhandle operations like fencing/add/write are infinitely hanging.
--
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