[ https://issues.apache.org/jira/browse/CASSANDRA-1610?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13046199#comment-13046199 ]
Alan Liang commented on CASSANDRA-1610: --------------------------------------- bq. I think Ben's selection of methods for the CompactionStrategy is an improvement, but I do like having an abstract class so it's obvious what the contract is for us vs having to inject parameters post-construction. I agree, I'll go back to the Abstract class approach. bq. I'd like to move away from minor/major terms as too tied to the old compaction internals. Perhaps background/maximal instead? Sounds good to me. bq. We should also make user defined compactions part of ACS – for some strategies (e.g. leveldb) we want to be able to reject user requests that would break strategy invariants. Note that this should probably return a single Task, rather than a list. ("Maximal" will also usually return a single task, but it's cleaner to represent "nothing to do" as an empty list, than as null.) Sounds good to me. bq. handleInsufficientSpaceForCompaction is a bad encapsulation; it means both it and its caller have to deal with "find a place for an sstable." suggest leaving it up to CT.execute to deal with. Sounds good to me. I'll resubmit a patch with all these suggestions. Thanks! > Pluggable Compaction > -------------------- > > Key: CASSANDRA-1610 > URL: https://issues.apache.org/jira/browse/CASSANDRA-1610 > Project: Cassandra > Issue Type: Improvement > Components: Core > Reporter: Chris Goffinet > Assignee: Alan Liang > Priority: Minor > Labels: compaction > Fix For: 1.0 > > Attachments: 0001-move-compaction-code-into-own-package.patch, > 0001-move-compaction-code-into-own-package.patch, > 0001-move-compaction-code-into-own-package.patch, > 0001-move-compaction-code-into-own-package.patch, > 0001-move-compaction-code-into-own-package.patch, > 0001-move-compaction-code-into-own-package.patch, > 0001-pluggable-compaction.patch, > 0002-Pluggable-Compaction-and-Expiration.patch, > 0002-pluggable-compaction.patch, 0002-pluggable-compaction.patch, > 0002-pluggable-compaction.patch, 0002-pluggable-compaction.patch, > 0002-pluggable-compaction.patch, 0002-pluggable-compaction.patch, > 0002-pluggable-compaction.patch > > > In CASSANDRA-1608, I proposed some changes on how compaction works. I think > it also makes sense to allow the ability to have pluggable compaction per CF. > There could be many types of workloads where this makes sense. One example we > had at Digg was to completely throw away certain SSTables after N days. > This ticket addresses making compaction pluggable only. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira