Ivan Kelly commented on ZOOKEEPER-831:

submitOrdered can throw RejectedExecutionException (Im guessing rare to the 
order of "if this happens the machine will die soon") or NullPointerException 
(unlikely). However there's no harm putting a try { } catch (Exception e) { 
opCounterSem.release(); } around it. the handler will never run except if the 
job is never submitted.

Also, you need a release inside the if (metadata.isClosed) . Otherwise I think 
it should be fine. As PendingAddOp should be able to handle it no matter what 
error occurs.

> BookKeeper: Throttling improved for reads
> -----------------------------------------
>                 Key: ZOOKEEPER-831
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-831
>             Project: Zookeeper
>          Issue Type: Bug
>          Components: contrib-bookkeeper
>    Affects Versions: 3.3.1
>            Reporter: Flavio Junqueira
>            Assignee: Flavio Junqueira
>             Fix For: 3.4.0
>         Attachments: ZOOKEEPER-831.patch, ZOOKEEPER-831.patch, 
> ZOOKEEPER-831.patch
> Reads and writes in BookKeeper are asymmetric: a write request writes one 
> entry, whereas a read request may read multiple requests. The current 
> implementation of throttling only counts the number of read requests instead 
> of counting the number of entries being read. Consequently, a few read 
> requests reading a large number of entries each will spawn a large number of 
> read-entry requests. 

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

Reply via email to