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

Reply via email to