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

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

Rakesh's patch only resolves the case where the OrderedSafeExecutor has been 
stopped before the request has been submitted. If the OrderedSafeExecutor is 
stopped after the request has submitted, but the request also submits to the 
executor, then the request callback will never get completed.

For example, if you have an add request. The request is submitted to the 
executor fine, but then the executor is killed. The request goes to the server. 
Once if comes back, PerChannelBookieClient#messageReceived will get a 
RejectExecution when it tries to handle it, and your request is hung. I tried 
to build on Rakesh's patch originally, but there's a hell of a lot of cases of 
this, so I considered it cleaner to have a single point to cancelling callbacks.

I'm not particularly comfortable with this change either, with 4.2.2 so close. 
I do mean to do some performance tests next week before the release anyhow, so 
I will be keeping an eye on the memory usage of this patch at that stage (if 
it's in).

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