[
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