cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "fujian (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-11070) Dispatcher.Flusher's control has duplicated/conflict control
Date Wed, 27 Jan 2016 00:39:39 GMT

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

fujian commented on CASSANDRA-11070:
------------------------------------

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 change > to >=. 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)

Mime
View raw message