hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Gray" <jl...@streamy.com>
Subject Re: Problem using RowFilter
Date Thu, 01 Oct 2009 18:50:03 GMT
That is the behavior for SCVF.  The other filters generally don't pay
attention to versions, but SCVF is special because it makes the decision
once it trips over the sought after column (the first/most recent version
of it).

What exactly are you trying to do?  Could you use ValueFilter instead?

JG

On Thu, October 1, 2009 10:06 am, Bluemetrix Development wrote:
> Hi, Thanks very much.
> I applied the patch and the RowFilter seem to be initially working.
>
>
> But, I have seem to come across another problem now.
> Filters only compare against the most recent version's values. Is this
> correct?
>
> For example, let's say I have a row with 3 versions:
> hbase(main):004:0> get 'Data', 'abc', {COLUMNS=>'x:y', VERSIONS=>3}
> timestamp=124380366942072, value=xxx timestamp=124380364890514, value=yyy
> timestamp=124380364491516, value=zzz
>
> Now, I want to be able to use a SingleColumnValueFilter on 'x:y' to
> find the value 'zzz'. It seems I can only test against the latest version
> 'xxx'.
> Sample code:
> Filter f = new SingleColumnValueFilter(Bytes.toBytes("x"),
> Bytes.toBytes("y"), CompareOp.EQUAL, new SubstringComparator("zzz"));
> This will not find anything.
>
>
> Is this the intended behavior or am I doing something wrong?
> Thanks again
> J
>
>
>
>
>
>
> On Wed, Sep 30, 2009 at 6:00 PM, Daniel Ploeg <dploeg@gmail.com> wrote:
>
>> Looks like your running into the issue described in this jira:
>>
>>
>> https://issues.apache.org/jira/browse/HBASE-1828
>>
>>
>> On Thu, Oct 1, 2009 at 5:52 AM, Bluemetrix Development <
>> bmdevelopment@gmail.com> wrote:
>>
>>> Hello,
>>> I am trying to use a RowFilter and continue to get the following
>>> error:
>>>
>>>
>>> Exception in thread "main"
>>> org.apache.hadoop.hbase.client.RetriesExhaustedException: Trying to
>>> contact region server 127.0.0.1:54441 for region
>>> TableData,,1254329413425, row '', but failed after 10 attempts.
>>> Exceptions:
>>> java.io.IOException: Call to /127.0.0.1:54441 failed on local
>>> exception: java.io.EOFException
>>> java.io.IOException: Call to /127.0.0.1:54441 failed on local
>>> exception: java.io.EOFException
>>> java.io.IOException: Call to /127.0.0.1:54441 failed on local
>>> exception: java.io.EOFException
>>> ...
>>>
>>>
>>> Here is the code:
>>>
>>>
>>>        HBaseConfiguration conf = new HBaseConfiguration();
>>>        HTable table = new HTable(conf, tableName);
>>>        Scan scan = new Scan();
>>>        scan.setMaxVersions();
>>>        scan.setTimeRange(timeStart, timeEnd);
>>>        RowFilter rf = new RowFilter(CompareOp.EQUAL, new
>>> SubstringComparator("abc"));
>>>        scan.setFilter(rf);
>>>        ResultScanner scanner = table.getScanner(scan);
>>>
>>>
>>> I've never came across this before until I started trying to use
>>> RowFilter. And if I comment out the setFilter function, there is no
>>> longer a problem. Actually, I get the exact same error for any type of
>>>  Filter I attempt to use. I'm using 0.20 on a pseudo-dist setup -
>>> standard config as in the Getting Started docs. Any ideas on this? Am I
>>> using the Filter correctly?
>>>
>>> Thanks
>>> J
>>>
>>>
>>
>
>


Mime
View raw message