[ https://issues.apache.org/jira/browse/HBASE-6428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13421182#comment-13421182 ]
Lars Hofhansl commented on HBASE-6428: -------------------------------------- Yep. I think we agree that the CP framework is good match for this issue (HBASE-6428) and then HBASE-6427 needs a different approach. The CP might need a bit more information in order to be able to determine the desired location of new HFiles, but otherwise "should" (famous last words) be good. Speaking of CPs. I find that the apis for flushes and compaction are different in the sense that pre/post flush is per region whereas pre/postCompaction is per store. Can't change that now, but maybe there should be a {pre|post}StoreFlush CP hook that is passed the store and the scanner, so it can interfere with flush in the same it can with a compaction. For HBASE-6427 I was thinking something simple like RegionSplitPolicy, which just loads a class by reflection. A generalized plugin loading mechanism would be nice, though. > Pluggable Compaction policies > ----------------------------- > > Key: HBASE-6428 > URL: https://issues.apache.org/jira/browse/HBASE-6428 > Project: HBase > Issue Type: New Feature > Reporter: Lars Hofhansl > > For some usecases is useful to allow more control over how KVs get compacted. > For example one could envision storing old versions of a KV separate HFiles, > which then rarely have to be touched/cached by queries querying for new data. > In addition these date ranged HFile can be easily used for backups while > maintaining historical data. > This would be a major change, allowing compactions to provide multiple > targets (not just a filter). -- 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