[ https://issues.apache.org/jira/browse/CASSANDRA-4049?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13231079#comment-13231079 ]
Piotr Kołaczkowski commented on CASSANDRA-4049: ----------------------------------------------- I looked into the code and I found a chicken-and-egg problem. List of components is associated with each sstable. SSTables have to be loaded before the compaction strategy. If compaction strategy specifies a set of its own additional components, then this list is not accessible at the sstable load time. So perhaps the list of sstable components should be kept with sstable itself as an additional component? Let's call it table-of-contents file. Then when opening the sstable, it could be easy to get all the components, irrespective of what really created them. What do you think about it? > Add SSTable components required by new DSE CFS compaction strategy > ------------------------------------------------------------------ > > Key: CASSANDRA-4049 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4049 > Project: Cassandra > Issue Type: New Feature > Components: Core > Reporter: Piotr Kołaczkowski > Priority: Minor > Attachments: component_patch.diff > > > CFS compaction strategy coming up in the next DSE release needs to store some > important information in Tombstones.db and RemovedKeys.db files, one per > sstable. However, currently Cassandra issues warnings when these files are > found in the data directory. Additionally, when switched to > SizeTieredCompactionStrategy, the files are left in the data directory after > compaction. > The attached patch adds new components to the Component class so Cassandra > knows about those files. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira