cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Miguel Angel Fernandez Diaz (JIRA)" <>
Subject [jira] [Updated] (CASSANDRA-6640) Improve custom 2i performance and abstraction
Date Mon, 03 Feb 2014 07:56:09 GMT


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:
>             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

View raw message