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

Ferdy Galema commented on GORA-119:
-----------------------------------

Yeah therefore it is very important to design the optimizer interfaces in the 
most defensive manner possible. For example

interface HBaseQueryOptimizer extends QueryOptimizer { 
   void optimize(Scan scan, HBaseStore); 
}

vs

interface HBaseQueryOptimizer extends QueryOptimizer { 
   Filter getHBaseFilter(HBaseMapping mapping); 
}

The first variant exposes both the Scan and HBaseStore objects to the filter. 
This arguably gives filters too much control. It could modify Scan in wrong way 
or call wrong HBaseStore methods so that nasty bugs may be introduced.

The latter simply asks the Optimizer to return the HBase filter. It provides 
one or two objects (HBaseMapping in this case) that are unharmful (immutable, 
copied or whatever) that can be used to build the filter. The filter has no way 
to modify crucial parts.
                
> implement a filter enabled scan in gora
> ---------------------------------------
>
>                 Key: GORA-119
>                 URL: https://issues.apache.org/jira/browse/GORA-119
>             Project: Apache Gora
>          Issue Type: Improvement
>    Affects Versions: 0.2
>         Environment: gora hbase gora-core gora-hbase
>            Reporter: raf shin
>              Labels: filter, gora-core, gora-hbase, scan
>             Fix For: 0.3
>
>         Attachments: GORA-119-v1.txt
>
>
> it'll be very of help to implement a filtered scan to reduce the time of scan 
> in gora-core and gora-hbase components.

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