hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From NNever <nnever...@gmail.com>
Subject Re: HBase0.92: In Filter, ReturnCode.NEXT_ROW may lead to next columnFamily but not next row?
Date Thu, 23 Feb 2012 03:20:15 GMT
Thanks Ted, I don't know mailing list strips attachment before.

Here is the attache:

TestFilter.java:    http://pastebin.com/zC6EF8pX
and the log:   http://pastebin.com/RsKJSHcn

2012/2/23 Ted Yu <yuzhihong@gmail.com>

> N:
> Can you publish your code on pastebin or somewhere ?
> Mailing list strips attachment.
>
> Thanks
>
>
> On Tue, Feb 21, 2012 at 5:47 PM, NNever <nneverwei@gmail.com> wrote:
>
>> Attach is my test customFilter code --- TestFilter.
>> It just simply extends FilterBase and do some system.out...
>> You can just try any Table has more than one columnFamily like below:
>>
>> *Scan scan = new Scan();*
>> *scan.setFilter(new TestFilter());*
>> *hTable.getScanner(scan);*
>>
>> and look the HBase's log...
>>
>> It seems there is truely a BUG here....When filterKeyValue return
>> ReturnCode.NEXT_ROW, it jump to next columnFamily but not next row...
>> also there is one thing strange, why the fitlerRow() not be called?
>>
>> 2012/2/21 <yuzhihong@gmail.com>
>>
>> The javadoc says filterRow() will still be called.
>>>
>>> Can you show us your filterRow() code ?
>>>
>>> Thanks
>>>
>>>
>>>
>>> On Feb 21, 2012, at 7:28 AM, NNever <nneverwei@gmail.com> wrote:
>>>
>>> > Hi~
>>> >
>>> > One customFilter,  Override filterKeyValue(KeyValue v).
>>> > when the filter filterKeyValue a row's first keyValue, it will return
>>> > "ReturnCode.NEXT_ROW" to jump to next row.
>>> >
>>> > But what infact is, the result changes when there are more than one
>>> > columnFamily:(here are some logs)
>>> >
>>> > [filterRowKey] PERSONA1
>>> > [filterKeyValue] family:info | qualifier:active | value:\x00
>>> > [filterKeyValue] returnCode is NEXT_ROW
>>> > [reset]
>>> > [filterRowKey] PERSONA2
>>> > [filterKeyValue] family:info | qualifier:active | value:\x00
>>> > [filterKeyValue] returnCode is NEXT_ROW
>>> > [reset]
>>> > [filterRowKey] PERSONA3
>>> > [filterKeyValue] family:info | qualifier:active | value:\x00
>>> > [filterKeyValue] returnCode is NEXT_ROW
>>> > [filterKeyValue] family:npo | qualifier:059201 | value:
>>> > [filterKeyValue] returnCode is NEXT_ROW
>>> > [reset]
>>> > [filterRowKey] PERSONA4
>>> > [filterKeyValue] family:cert | qualifier:certSN | value:
>>> > PERSONAL4314120472582094317514215676313826416149
>>> > [filterKeyValue] returnCode is NEXT_ROW
>>> > [filterKeyValue] family:info | qualifier:active | value:\x00
>>> > [filterKeyValue] returnCode is NEXT_ROW
>>> > [filterKeyValue] family:npo | qualifier:059201 | value:
>>> > [filterKeyValue] returnCode is NEXT_ROW
>>> > [reset]
>>> >
>>> > the Table schema is
>>> > User
>>> > info:name, info:address, info:active.... (info family, every record has
>>> > values)
>>> > npo:xxxx.....(npo family may be not exist)
>>> > cert:certSN, cert:certType....(cert family may be not exist)
>>> >
>>> > As you can see from the log, once a row has more than one family
>>> values,
>>> > The ReturnCode.NEXT_ROW will not jump to next row but pass the left
>>> > qualifier values and jump to next fmaily.
>>> > Why? It's a bug or just design to be like this?
>>> > Thanks~
>>>
>>
>>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message