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

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

    Comment: was deleted

(was: The solution takes into account the issue 5540)

> 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
>              Labels: patch, performance
>             Fix For: 2.1
>
>         Attachments: 6640.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)

Reply via email to