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

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

There are some unnecessary changes we could split out to only hit trunk (such 
as optional NODELAY), but there has to be at least a minimal touching of the 
existing code. As it stands the most egregious such touch is the switch from 
currentTimeMillis() to nanoTime() with a conversion that we perform back to 
millis for serialization. It's unavoidable to at least call nanoTime(), but we 
could perhaps call both instead, but that may have a material performance 
impact (esp. on virtualized setups with a poor choice of clocksource)

Other than that, there is a switch of buffer size that is deferrable but safe, 
and the movement of a small portion of code into an abstract "DisabledStrategy" 
class from OTC, which is also very easily verifiable. We can even make it an 
almost identical cut/paste, but that's probably unnecessary.

> 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