[
https://issues.apache.org/jira/browse/HBASE-6427?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13424658#comment-13424658
]
Lars Hofhansl commented on HBASE-6427:
--------------------------------------
It's used rarely, because coprocessors are not like store procedures, but a
method to extend HBase.
We *have* through it (IMHO), and the coprocessors now can be chained, and due
to the nature of these hooks that will be tricky.
For example even if we managed to pass in a KeyValueScanner instance, folks
would be tempted to just add this one to the List of scanners down the chain
(as was your first thought above), which is tempting, but will not be the right
thing to do; the downstream must do some complicated logic to merge with the
previous scanner in ways that we cannot anticipate.
> 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, 6427-v7.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