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

Benedict commented on CASSANDRA-8692:
-------------------------------------

The only place this should be true is in the second drainTo in 
TimeHorizonMovingAverage, surely? 

Otherwise "outSize" doesn't seem to be fulfilling its purpose, which is to 
prevent growth of the output collection. A call to coalesce() should be 
provided an empty output collection, and so after a call to take() it should be 
of size exactly 1. By not assuming this is 1, to me this signals we maybe 
expect and accept a non-empty output collection, but if that is the case 
"outSize" is misnamed. So I guess we could go with renaming that, but either 
way we should document our preconditions. 

It's just to ensure the reader doesn't get confused, since the code and the 
parameter names combine (in my head at least) to tell the story of intent, and 
in this case it sends conflicting signals to me.

> Coalesce intra-cluster network messages
> ---------------------------------------
>
>                 Key: CASSANDRA-8692
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8692
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Ariel Weisberg
>            Assignee: Ariel Weisberg
>             Fix For: 2.1.4
>
>         Attachments: batching-benchmark.png
>
>
> While researching CASSANDRA-8457 we found that it is effective and can be 
> done without introducing additional latency at low concurrency/throughput.
> The patch from that was used and found to be useful in a real life scenario 
> so I propose we implement this in 2.1 in addition to 3.0.
> The change set is a single file and is small enough to be reviewable.



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

Reply via email to