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