[ https://issues.apache.org/jira/browse/BOOKKEEPER-336?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13431915#comment-13431915 ]
Ivan Kelly commented on BOOKKEEPER-336: --------------------------------------- Yes, i think having a timeout is the most straightforward solution to this. As kicking off all reads requests at the same time, we won't have to wait on the timeout for each individual request as I had initially thought. We can have this timeout as configurable, but I think that 2 seconds is a reasonable default. - Kick off a timer at end of PendingReadOp#initiate() - When timer times out, iterate through PendingReadOp#seq. - For each entry, if not completed, kick off next speculative read - Set timer again We must allow a response from either of the read requests to complete the entry. We also have to modify error handling to only propagate to client if all read requests have failed. > 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: Rakesh R > Attachments: BOOKKEEPER-336.1.patch, 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: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira