[
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