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

Ivan Kelly commented on BOOKKEEPER-336:
---------------------------------------

{quote}
1. In the case the digest of an entry doesn't match, we will discard the entry, 
although we have heard from the bookie. Consequently, we need to request 
another entry, and possibly this is handled through a different code path. Is 
it the case? In the case there is a different code path to deal with invalid 
entries, we may want to consider coalescing them as much as possible.{quote}
In the case of a digest fail, it will go through the same path as before. i.e. 
it will try the next replica anyhow.


{quote}2. It would be great to add documentation for the new parameter and to 
update conf/bk_server.conf{quote}
The option is client side only so it doesn't belong in bk_server.conf. Will add 
something in bookkeeperConfigParams.textile.

{quote}3. The default value for the speculative read seems a large. Is there 
any reason why we shouldn't be a bit more aggressive with the default value, 
especially because we can turn off speculative reads altogether?{quote}
It's much lower than connection timeout which is what was being hit originally 
(10 seconds). I have no problem with lowering it, but at this stage selecting a 
default value is guess work, and 2s seems reasonable to me.

{quote}4. Please fix typos in the comments. I've seen at least a couple, like 
"functionallity".{quote}
Will fix and put up a new patch.

{quote}
5. In the future, it might be a good idea to use failure detection techniques 
like phi accrual for the speculative read timeout instead of having a fixed 
value.
{quote}
This would be nice. Has this stuff gone into ZK yet, perhaps we could reuse 
some of that code. In any case, future work.
                
> bookie readEntries is taking more time if the ensemble has failed bookie(s)
> ---------------------------------------------------------------------------
>
>                 Key: BOOKKEEPER-336
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-336
>             Project: Bookkeeper
>          Issue Type: Bug
>    Affects Versions: 4.1.0
>            Reporter: Brahma Reddy Battula
>            Assignee: Ivan Kelly
>             Fix For: 4.2.0
>
>         Attachments: 
> 0001-BOOKKEEPER-336-bookie-readEntries-is-taking-more-tim.patch, 
> 0001-BOOKKEEPER-336-bookie-readEntries-is-taking-more-tim.patch, 
> 0002-BOOKKEEPER-336-bookie-readEntries-is-taking-more-tim.patch, 
> 0002-BOOKKEEPER-336-bookie-readEntries-is-taking-more-tim.patch, 
> 0002-BOOKKEEPER-336-bookie-readEntries-is-taking-more-tim.patch, 
> BOOKKEEPER-336.1.patch, BOOKKEEPER-336.draft1.diff, BOOKKEEPER-336.patch
>
>
> Scenario:
> 1) Start three bookies. Create ledger with ensemblesize=3, quorumsize=2
> 2) Add 100 entries to this ledger
> 3) Make first bookie down and read the entries from 0-99
> Output: Each entry is going to fetch from the failed bookie and is waiting 
> for the bookie connection timeout, only after failure going to next bookie.
> This is affecting the read entry performance.
> Impact: Namenode switching time will be affected by adding this failed bookie 
> readTimeOut also.

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