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

T Jake Luciani commented on CASSANDRA-17998:
--------------------------------------------

> Specifically, entries in the log will be addressable, so we'll only have to 
> serialize once - when writing to the commit log

 

This would require waiting for the local write to hit the commitlog before 
sending the request to other replicas. Besides that, this patch avoids having 
to serialize the mutation to the commitlog when it's read off the internode 
message as it keeps around the one off the wire.

 

When the accord stuff is in (assuming there's a way around my first point) you 
could add a new kind of CachedSerialization instance for the one in the 
commitlog.

 

 

> Mutation Serialization Caching
> ------------------------------
>
>                 Key: CASSANDRA-17998
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-17998
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Messaging/Internode
>            Reporter: T Jake Luciani
>            Assignee: T Jake Luciani
>            Priority: Normal
>             Fix For: 4.x
>
>
> A performance change that adds mutation serialization caching to avoid 
> re-serializing the mutation for commitlog and nodes twice. 
>  * Cached serialization for storage proxy and local commitlog
>  * Cached deserialization for messaging service and local commitlog
> This yields a non trivial perf gain (~7-10%) and latency drop (median)
> [https://tjake.github.io/other/cached-mutations-report.html]
>  
> The cached buffer is stored by MessagingService version to avoid being used 
> by differing nodes during upgrades.
> Also, It avoids caching mutations larger than a threshold to avoid GC issues. 
>  
> GH PR: https://github.com/apache/cassandra/pull/1954
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to