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

Lars Hofhansl commented on HBASE-6427:
--------------------------------------

I think we should what the current preScannerOpen is doing. Each RegionObserver 
is passed the previous InternalScanner (would be a KeyValueScanner here, but 
the same principle applies). A RegionObserver can break the loop via the passed 
Context, I do not think we should default that bevahior. I'll have a patch for 
that soon.

As for the deprecation, I think I agree with Andy here. Having the two hooks is 
confusion. Everything that could be done with the old can also be done with the 
new hook, and coprocessors are meant for extending HBase.

Re: StoreFileScanner vs ? extends KeyValueScanner... I typically prefer to 
express this in terms interface, rather than concrete classes. It also keep 
preCompact and preFlush similar (one gets a list of StoreFileScanners, the 
other gets a StoreScanner). I do not feel strongly about this, though.

I'll change the patch and put it up on RB... Thanks for the detailed review Ted!

                
> Pluggable compaction policies via coprocessors
> ----------------------------------------------
>
>                 Key: HBASE-6427
>                 URL: https://issues.apache.org/jira/browse/HBASE-6427
>             Project: HBase
>          Issue Type: New Feature
>            Reporter: Lars Hofhansl
>            Assignee: Lars Hofhansl
>            Priority: Minor
>         Attachments: 6427-notReady.txt, 6427-v1.txt, 6427-v2.txt, 
> 6427-v3.txt, 6427-v4.txt, 6427-v5.txt
>
>
> When implementing higher level stores on top of HBase it is necessary to 
> allow dynamic control over how long KVs must be kept around.
> Semi-static config options for ColumnFamilies (# of version or TTL) is not 
> sufficient.
> This can be done with a few additional coprocessor hooks, or by makeing 
> Store.ScanInfo pluggable.
> Was:
> The simplest way to achieve this is to have a pluggable class to determine 
> the smallestReadpoint for Region. That way outside code can control what KVs 
> to retain.

--
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