[
https://issues.apache.org/jira/browse/BOOKKEEPER-717?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13890998#comment-13890998
]
Ivan Kelly commented on BOOKKEEPER-717:
---------------------------------------
I can't quite figure out the logic of the group timeout stuff
{code}
if (maxGroupWaitInMSec > 0 && !groupWhenTimeout &&
(MathUtils.elapsedMSec(toFlush.getFirst().enqueueTime) > maxGroupWaitInMSec)) {
groupWhenTimeout = true;
} else if (maxGroupWaitInMSec > 0 && groupWhenTimeout && qe != null &&
MathUtils.elapsedMSec(qe.enqueueTime) < maxGroupWaitInMSec) {
groupWhenTimeout = false;
shouldFlush = true;
} ...
{code}
If, in the first clause, the time since enqueue for the first entry is greater
than maxGroupWaitInMSec, then surely shouldFlush should be set to true?
Similarly shouldn't you defer the flush if you get to the next clause *and* the
enqueueTime of the first in the queue is less than the maxGroupWaitInMSec?
> journal should look forward to group time-out entries
> -----------------------------------------------------
>
> Key: BOOKKEEPER-717
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-717
> Project: Bookkeeper
> Issue Type: Sub-task
> Components: bookkeeper-server
> Reporter: Sijie Guo
> Assignee: Sijie Guo
> Fix For: 4.3.0
>
> Attachments: BOOKKEEPER-717.diff
>
>
> journal should look a bit forward to group timeout entries, which avoid too
> much fsyncs with single entry impacting journal performance. so bookie could
> have sustained high throughput with low-latency.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)