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/07/13 12:39:04 UTC
[jira] [Comment Edited] (CASSANDRA-9673) Improve batchlog write
path
[ https://issues.apache.org/jira/browse/CASSANDRA-9673?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14624500#comment-14624500 ]
Aleksey Yeschenko edited comment on CASSANDRA-9673 at 7/13/15 10:38 AM:
------------------------------------------------------------------------
Yes, I thought I mentioned it offline (and it should really all be in the ticket, either way, so my bad). The mutations will now be stored in a map {{<something, blob>}}.
The missing, and, again, unexplained part is that we don't decode the message from {{ByteBuffer}} s into {{Mutation}} s on the receiving side. There is no point in doing so, given that only replay needs the {{Mutation}} objects.
was (Author: iamaleksey):
Yes, I thought I mentioned it offline (and it should really all be in the ticket, either way, so my bad). The mutations will now be stored in a map {{<something, blob>>}}.
The missing, and, again, unexplained part is that we don't decode the message from {{ByteBuffer}}s into {{Mutation}}s on the receiving side.
> 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)