[ https://issues.apache.org/jira/browse/CASSANDRA-9673?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14624419#comment-14624419 ]
Stefania commented on CASSANDRA-9673: ------------------------------------- [~iamaleksey] can you elaborate a bit more on how to achieve this: bq. To avoid merely shifting the temp buffer to the receiving side(s) we should change the structure of the batchlog table to use a list or a map of individual mutations. On the receiver, is there a way to do this without deserializing each mutation only to serialize it again into a blob (byte buffer) or alternatively something like {{list<mutation_type>}} where {{mutation_type}} is {code} ksname : string key : blob updates : map<uuid, blob> {code} Isn't this worse than just leaving all mutations serialized in a unique byte buffer copied directly from the incoming message and inserted in the batchlog table as the data blob? We could use the {{BufferPool}} to minimize GC, except we just need to find a way to give the buffers back to the pool eventually. > Improve batchlog write path > --------------------------- > > Key: CASSANDRA-9673 > URL: https://issues.apache.org/jira/browse/CASSANDRA-9673 > Project: Cassandra > Issue Type: Improvement > Reporter: Aleksey Yeschenko > Assignee: Stefania > Fix For: 3.0.0 rc1 > > > Currently we allocate an on-heap {{ByteBuffer}} to serialize the batched > mutations into, before sending it to a distant node, generating unnecessary > garbage (potentially a lot of it). > With materialized views using the batchlog, it would be nice to optimise the > write path: > - introduce a new verb ({{Batch}}) > - introduce a new message ({{BatchMessage}}) that would encapsulate the > mutations, expiration, and creation time (similar to {{HintMessage}} in > CASSANDRA-6230) > - have MS serialize it directly instead of relying on an intermediate buffer > To avoid merely shifting the temp buffer to the receiving side(s) we should > change the structure of the batchlog table to use a list or a map of > individual mutations. -- This message was sent by Atlassian JIRA (v6.3.4#6332)