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

Reply via email to