[ 
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

Reply via email to