[
https://issues.apache.org/jira/browse/HBASE-16225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15388646#comment-15388646
]
Gary Helmling commented on HBASE-16225:
---------------------------------------
{quote}
But I found a problem. I assume that, in compaction, we do not use filter, do
not specific columns, do not use TimeRange to filter out data... This makes the
logic much simpler.
But we have coprocessor, which could overwrite the existing Scanner, and
TestRegionObserverScannerOpenHook will fail since I just ignore the passed in
filter.
{quote}
Apache Tephra sets a filter on compaction through its coprocessor, though this
is really just used for skipping/dropping cells, obviously, not seeking. I
don't think we can completely ignore coprocessor considerations. Filters are
how we typically allow user code to interact with the cells returned. Can you
describe what the complication is with supporting them here? Would paring down
the filter functionality in the compaction context to a subset, say a
ServerFilter that just allows skip/include per cell, help simplify this?
But without support for filters, we're basically forcing all coprocessors to
wrap RegionScanner and reimplement it's functionality.
> Refactor ScanQueryMatcher
> -------------------------
>
> Key: HBASE-16225
> URL: https://issues.apache.org/jira/browse/HBASE-16225
> Project: HBase
> Issue Type: Improvement
> Reporter: Duo Zhang
> Assignee: Duo Zhang
> Attachments: HBASE-16225.patch
>
>
> As said in HBASE-16223, the code of {{ScanQueryMatcher}} is too complicated.
> I suggest that we can abstract an interface and implement several sub classes
> which separate different logic into different implementations. For example,
> the requirements of compaction and user scan are different, now we also need
> to consider the logic of user scan even if we only want to add a logic for
> compaction. And at least, the raw scan does not need a query matcher... we
> can implement a dummy query matcher for it.
> Suggestions are welcomed. Thanks.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)