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 Wed, 22 Feb 2012 01:47:17 GMT
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/mixed (inline, None, 0 bytes)
View raw message