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

Jonathan Gray commented on HBASE-4612:
--------------------------------------

Hey Eran.  Thanks for the contribution!  A few comments..

- There's no explanation of the behavior anywhere.  In the constructors and 
addPrefix() methods, you should document that this creates an OR condition 
across all of the prefixes, correct?
- No need to instantiate a new comparator all the time (use 
Bytes.BYTES_COMPARATOR)
- Something seems odd when you keep adding to the end of a List and then sort.  
How about a TreeSet?  You can easily ignore dupes that way.
- There's no input verification so, for example, you could pass a null to the 
constructor or an empty byte[][] and have some strange behavior.  Like it will 
instantiate okay but then you'll get server-side NPEs or IOOB.
- this.prefixes.size() == 0 -> this.prefixes.isEmpty()
- your comment at the top of filterColumn, i wouldn't exactly call it a 
workaround, but it's a good comment.  looking at the logic, it seems like 
correct behavior would be that it can be called with current == size() but it 
would be a bug if current > size(), right?  should you add an assert or throw 
an exception?
                
> Allow ColumnPrefixFilter to support multiple prefixes
> -----------------------------------------------------
>
>                 Key: HBASE-4612
>                 URL: https://issues.apache.org/jira/browse/HBASE-4612
>             Project: HBase
>          Issue Type: Improvement
>          Components: filters
>    Affects Versions: 0.90.4
>            Reporter: Eran Kutner
>            Priority: Minor
>         Attachments: HBASE-4612-0.90.patch
>
>
> When having a lot of columns grouped by name I've found that it would be very 
> useful to be able to scan them using multiple prefixes, allowing to fetch 
> specific groups in one scan, without fetching the entire row. This is 
> impossible to achieve using a FilterList, so I've added such support to the 
> existing ColmnPrefixFilter while keeping backward compatibility.
> The attached patch is based on 0.90.4, I noticed that the 0.92 branch has a 
> new method to support instantiating filters using Thrift. I'm not sure how 
> the serialization works there so I didn't implement that, but the rest of my 
> code should work in 0.92 as well.

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