You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "YounwooKim (JIRA)" <ji...@apache.org> on 2013/06/21 02:19:19 UTC

[jira] [Created] (CASSANDRA-5682) When the Cassandra delete keys in secondary Index?

YounwooKim created CASSANDRA-5682:
-------------------------------------

             Summary: When the Cassandra delete keys in secondary Index?
                 Key: CASSANDRA-5682
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5682
             Project: Cassandra
          Issue Type: Improvement
          Components: Core
    Affects Versions: 2.0.1
         Environment: normal x86 PC (i3 CPU + 4GB ram) + Ubuntu 12.04
            Reporter: YounwooKim
            Priority: Minor


How can i reduce the size of secondary index?

Obviously, I delete many keys, and tried flush, compact, cleanup, rebuild_index using nodetool. However, i can't reduce the size of secondary index. ( Of course, the size of table(Primary key) is reduced. )


Therefore, I found out the hint from the Cassandra source code, and I guess a feature of secondary index deletion.

1) When I request deletion of key, and the key is in the sstable(not in the memtable), the Cassandra doesn't insert the tombstone to the sstable for secondary index.( Unlike the table )
( from AbstractSimpleColumnSecondaryIndex.delete() function. )

2) After scaning the secondary index, the tombstone is maded in secondary index.
( from KeysSearcher.getIndexedIterator() function. It is called by index scan verb. )

3) Cleanup command in nodetool is used to delete out of range keys. ( Cleanup command don't care about deleted keys )
( from CompactionManager.doCleanupCompaction() function. )

After this, I scan deleted keys using 'Where' clause, and I can reduce the size of secondary index. I think that it is only one way to reduce the size of secondary index.

Is this a correct conclusion? I can't found related articles and other methods. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira