You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Aleksey Yeschenko (JIRA)" <ji...@apache.org> on 2015/06/29 03:16:05 UTC

[jira] [Created] (CASSANDRA-9673) Improve batchlog write path

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)