[ 
https://issues.apache.org/jira/browse/HBASE-6428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13420741#comment-13420741
 ] 

Andrew Purtell edited comment on HBASE-6428 at 7/23/12 4:18 PM:
----------------------------------------------------------------

Is there a use case where there could be multiple receivers for a 
getSmallestReadPoint call? Where you want that kind of stacking, the CP API 
upcall approach is good; where you have a global behavior that you might want 
to override, a plug makes sense. For consistency's sake, those pluggable points 
should all work the same way. We have HBASE-4050's ServiceLoader, but I think 
we should also look at Guice (HBASE-6407). 

Edit: Another consideration is performance. I'd like to draw a distinction 
between coarse grained extension and fine grained extension. The former is 
where large sections of functionality are replaced, for example using CPs to 
replace default compaction selection with another strategy. The latter 
certainly applies to single method calls on hot code paths. For the latter, 
ideally we want an extension mechanism that will still allow the JVM to inline 
what's plugged in. 
                
      was (Author: apurtell):
    Is there a use case where there could be multiple receivers for a 
getSmallestReadPoint call? Where you want that kind of stacking, the CP API 
upcall approach is good; where you have a global behavior that you might want 
to override, a plug makes sense. For consistency's sake, those pluggable points 
should all work the same way. We have HBASE-4050's ServiceLoader, but I think 
we should also look at Guice (HBASE-6407). 
                  
> 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

        

Reply via email to