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