[
https://issues.apache.org/jira/browse/HBASE-2466?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Juhani Connolly updated HBASE-2466:
-----------------------------------
Attachment: HBASE-2466.patch
Initial patch that implements the suggested changes:
- Added public boolean filterRow(List<KeyValue> kvs); to the Filter interface,
modifying existing filters as necessary
- Added a class to use it DependentColumnFilter along with unit test
TestDependentColumnFilter
All core tests pass, some issues with stargate but appear to be entirely
unrelated, a problem on test machine perhaps?
For javadoc, the contribution guide is out of date, so I tried mvn
javadoc:javadoc which put out 2 warnings, however these seemed entirely
unrelated.
A review would be appreciated.
> Improving filter API to allow for modification of keyvalue list by filter
> -------------------------------------------------------------------------
>
> Key: HBASE-2466
> URL: https://issues.apache.org/jira/browse/HBASE-2466
> Project: Hadoop HBase
> Issue Type: Improvement
> Components: filters, regionserver
> Reporter: Juhani Connolly
> Priority: Minor
> Attachments: HBASE-2466.patch
>
>
> As it stands, the Filter interface allows filtering by
> Filter#filterAllRemaining() -> true indicates scan is over, false, keep going
> on.
> Filter#filterRowKey(byte[],int,int) -> true to drop this row, if false, we
> will also call
> Filter#filterKeyValue(KeyValue) -> true to drop this key/value
> Filter#filterRow() -> last chance to drop entire row based on the sequence of
> filterValue() calls. Eg: filter a row if it doesn't contain a specified
> column.
> It would be useful to allow for an additional API in the form of a step to
> prune the list of KeyValues to be sent by implementing an additional
> Filter#filterRow(List<KeyValue>)
> This would allow for a user to write a custom filter against the api that
> drops unnecessary KeyValues according to user-defined rules.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.