[ https://issues.apache.org/jira/browse/CASSANDRA-11070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15118348#comment-15118348 ]
fujian edited comment on CASSANDRA-11070 at 1/27/16 12:40 AM: -------------------------------------------------------------- 3ks for your reply. and check my compare between done and without done. https://cloud.githubusercontent.com/assets/5654180/12599960/ede28bcc-c4d0-11e5-9a2a-5ebd68ced78b.jpg so if we remove donework condition. we can't handle the 2:there has been one batch followed by a >10us pause but we can handle: 2:there has been one batch followed by a >20us pause what's more, we will have two benefits: (1) code more clear with less condition judge. (2) we won't have some no need loop when had no data when 1 or 2 so what's the difference: there has been one batch followed by a >10us pause there has been one batch followed by a >20us pause I think it isn't so important compare with more clear code and reduce one no need loop.what's your view? 3ks again. was (Author: fujian1115): 3ks for your reply. and check my compare between done and without done. https://cloud.githubusercontent.com/assets/5654180/12599960/ede28bcc-c4d0-11e5-9a2a-5ebd68ced78b.jpg so if we remove donework condition. we can't handle the 2:there has been one batch followed by a >10us pause but we can handle: 2:there has been one batch followed by a >20us pause what's more, we will have two benefits: (1) code more clear with less condition judge. (2) we won't have some no need loop when had no data when 1 or 2 so what's the difference: there has been one batch followed by a >10us pause there has been one batch followed by a >20us pause I think it isn't important compare with more clear code and reduce one no need loop.what's your view? 3ks again. > 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)