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

Aleksey Yeschenko edited comment on CASSANDRA-17998 at 10/28/22 4:13 PM:
-------------------------------------------------------------------------

Good stuff.

There is a pretty high chance however that this will be superseded by changes 
to the commit log that'll eventually ship with Accord. Specifically, entries in 
the log will be addressable, so we'll only have to serialize once - when 
writing to the commit log, and then fetch the serialized representation by id 
for messaging service and, if needed, hints. All without any extra memory 
overhead of a separate cache.

This is not to say that this shouldn't go in, especially since the work's 
already done, until then. But can we at least make this opt-in by default?

Cheers.


was (Author: iamaleksey):
Good stuff. There is a pretty high chance however that this will be superseded 
by changes to the commit log that'll eventually ship with Accord. Specifically, 
entries in the log will be addressable, so we'll only have to serialize once - 
when writing to the commit log, and then fetch the serialized representation 
for messaging service and, if needed, hints. All without any extra memory 
overhead of a separate cache.

This is not to say that this shouldn't go in, especially since the work's 
already done, until then. But can we at least make this opt-in by default?

Cheers.

> 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