hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From stack <st...@duboce.net>
Subject Re: HBase: scanner with custom filter causes Exception
Date Mon, 09 Feb 2009 17:07:17 GMT
Your new class needs to be on the server's CLASSPATH as well as on the
client-side.
St.Ack



On Mon, Feb 9, 2009 at 4:26 AM, Michael Seibold <seibold@in.tum.de> wrote:

> Hi,
>
> I want to create a scanner with a custom filter, but always get the
> exception below.
>
> 1. I have implemented the RowFilterInterface:
>
> public abstract class CustomFilter implements RowFilterInterface {
>
> //...implemented method from interface RowFilterInterface
>
>        public boolean filterRowKey(byte[] rowKey) {
> ...
>
>
> //...implemented method from interface Writable
>        public void write(DataOutput out) throws IOException {
>                out.writeUTF(str);
>        }
>
>        public void readFields(DataInput in) throws IOException {
>                str = in.readUTF();
>        }
>
>        public static CustomFilter read(DataInput in) throws IOException
>        {
>                CustomFilter f = new CustomFilter();
>                f.readFields(in);
>                return f;
>        }
> }
>
> 2. I create the scanner the following way:
>
> RowFilterInterface customScanFilter = new CustomFilter();
> table.getScanner(scanColumns, scanStartRow, customScanFilter);
>
>
> 3. I get the following exception in the region server:
> ERROR org.apache.hadoop.hbase.regionserver.HRegionServer
> : org.apache.hadoop.hbase.UnknownScannerException: Name: -1
> INFO org.apache.hadoop.ipc.HBaseServer: IPC Server handl
> call next(-1, 30) from 127.0.0.1:54631: error: org.apache.hadoop.
> hbase.UnknownScannerException: Name: -1
> org.apache.hadoop.hbase.UnknownScannerException: Name: -1
>        at
> org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer
> .java:1568)
>        at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
>        at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)
>        at org.apache.hadoop.hbase.ipc.HBaseRPC
> $Server.call(HBaseRPC.java:632)
>        at org.apache.hadoop.hbase.ipc.HBaseServer
> $Handler.run(HBaseServer.java:
> 895)
>
> What am I doing wrong? Does the region server need the java source code
> of my custom filter? Currently java source code of my custom filter is
> only available on the client machine, not on the machine where the
> region server is installed? How is this "mobile-code" via the Writable
> interface supposed to work? How do I make my custom scanner available
> for the region server?
>
> Kind regards,
> Michael
>
>
>
>

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