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

Benedict commented on CASSANDRA-11070:
--------------------------------------

I think you're confusing {{>}} with {{>=}}; this guard flushes if it's the 
third flush in a row that produced work, or the second which did _not_ produce 
work; i.e. it flushes if:

# there have been three batches appear together (each could be singleton items, 
with arbitrary temporal separation)
# there has been one batch followed by a >10us pause
# there are more than fifty messages waiting

Your guard changes this to only 1 and 3.

> Dispatcher.Flusher's control has duplicated/conflict control
> ------------------------------------------------------------
>
>                 Key: CASSANDRA-11070
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11070
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Streaming and Messaging
>            Reporter: fujian
>              Labels: performance
>         Attachments: 0001-fix-CASSANDRA-11070.patch
>
>
> org.apache.cassandra.transport.Message.Dispatcher.Flusher
> remove duplicated control for flush message control …
> Motivation:
> the !doneWork's control is duplicated and confused with runsSinceFlush > 2
> if on the first run:the queue size is 20
> donework will be set to true and not do flush due to the size<50 and 
> runsSinceFlush<2.
> if on the second run. the queue size is 0,
> donework will be reset to false and not set to true due to no new items in 
> queue, but the flush will be triggered due to:
>   if (!doneWork || runsSinceFlush > 2 || flushed.size() > 50)
> now the runsSinceFlush is 2. so in actual, its function is similar with 
> runsSinceFlush>1.
> so it is no need to keep it so that the code is confused and duplicated.
>               
> Modifications:
> remove it
> Result:
> after remove it, it will more clear and no confused.
> check the link: 
> https://github.com/jiafu1115/cassandra/commit/5279884e6a392d36b4adc5e29f9ca5d0666cb275



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to