You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Miguel Angel Fernandez Diaz (JIRA)" <ji...@apache.org> on 2014/02/03 08:56:09 UTC

[jira] [Updated] (CASSANDRA-6640) Improve custom 2i performance and abstraction

     [ https://issues.apache.org/jira/browse/CASSANDRA-6640?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Miguel Angel Fernandez Diaz updated CASSANDRA-6640:
---------------------------------------------------

    Attachment: 6640v2.diff

This is the new patch with the modifications suggested by Sam Tunnicliffe, it has been created according to the current trunk of the 2.1-SNAPSHOT version.

> Improve custom 2i performance and abstraction
> ---------------------------------------------
>
>                 Key: CASSANDRA-6640
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6640
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Miguel Angel Fernandez Diaz
>            Assignee: Miguel Angel Fernandez Diaz
>              Labels: patch, performance
>             Fix For: 2.1
>
>         Attachments: 6640.diff, 6640v2.diff
>
>
> With the current implementation, the method update from SecondaryIndexManager forces to insert and delete a cell. That happens because we assume that we need the value of the old cell in order to locate the cell that we are updating in our custom secondary index implementation. 
> However, depending on the implementation, a insert and a delete operations could have much worse performance than a simple update. Moreover, if our custom secondary index doesn't use inverted indexes, we don't really need the old cell information and the key information is enough. 
> Therefore, a good solution would be to make the update method more abstract. Thus, the update method for PerColumnSecondaryIndex would receive also the old cell information and from that point we could decide if we must carry out the delete+insert operation or just a update operation.
> I attach a patch that implements this solution.  



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)