[ 
https://issues.apache.org/jira/browse/CASSANDRA-645?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12793661#action_12793661
 ] 

Gary Dusbabek commented on CASSANDRA-645:
-----------------------------------------

How deep should I maintain the thrift structures?  Unless we're willing to 
carry this all the way into ColumnFamilyStore and Memtable (and I think we are 
not willing), we need a way to accumulate ColumnFamily objects that contain 
changes before they are committed (that and we need a single blob-like thing 
for the commit log to store).

RowMutation was handy for this.

The best idea I have a "TableMutation" that accepts batches of mutations, 
converts them into the corresponding ColumnFamily changes and then sends them 
off in a manner similar to Table.apply(), but this isn't far off from the 
"RowMutation on CN" step above.

BTW, it looks like we needlessly reserialze the RMs during commit log recovery.

> replace RowMutation w/ serialized thrift structs
> ------------------------------------------------
>
>                 Key: CASSANDRA-645
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-645
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Gary Dusbabek
>            Priority: Minor
>             Fix For: 0.9
>
>         Attachments: 645-thrift.patch
>
>
> using the client's representation internally will save basically a copy 
> operation on the critical write path

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to