Aleksey Yeschenko created CASSANDRA-9673:
--------------------------------------------
Summary: Improve batchlog write path
Key: CASSANDRA-9673
URL: https://issues.apache.org/jira/browse/CASSANDRA-9673
Project: Cassandra
Issue Type: Improvement
Reporter: Aleksey Yeschenko
Fix For: 3.x
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)