[ 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