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

Ivan Kelly commented on BOOKKEEPER-654:
---------------------------------------

{quote}
I would suggest moving this ticket to 4.3.0 as it is not a trivial change as 
your comments.
{quote}
I would agree. This is a fairly hefty change even in it's simplest form. Also, 
it's a change to catch bad user code. By deferring to 4.3.0, we won't break any 
current user code, it will merely continue to misbehave as it always has. 
[~rakeshr] what's you're feeling on this, since you raised the issue.

{quote}
BTW, stepping back, do we really need to all the callbacks to be cancelled when 
bookkeeper client closed down? is there any user cases really need this? if 
not, I don't see any value to provide this to make things complicated.
{quote}
I think it's a good thing to notify the user when they've done something 
stupid. Currently the code can just hang in this situation, so to a user it is 
unclear whether the bug is in their code or our code.

{quote}
I haven't looked at the patch, but I would say that we should error out 
outstanding requests and in fact I thought we were doing it. As for being able 
to execute other ledger operations, like opening another ledger or even 
creating a new one, I can go either way, although currently a bookkeeper object 
is not bound to any given ledger. I'd rather not change the API to bind a 
bookkeeper object to a ledger, I don't see a strong reason to do it.
{quote}
We do error outstanding requests on a ledger handle in some cases, specifically 
when the add or read is in the completion key maps in PerChannelBookieClient. 
There's other cases, such as when there's an outstanding request to zk where 
this doesn't happen though.

When a BookKeeper object is close, it should absolutely not be able create or 
open ledgers. I don't understand what you mean by an API change here. I haven't 
seen any API change proposed.
                
> 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.2.2, 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

Reply via email to