You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by Barney Frank <ba...@gmail.com> on 2011/05/17 18:22:07 UTC

[0.90.1-cdh3u0] Setting Filter Lists to a client Scan

I am having a problem adding filerLists to my scans.  These are the standard
filters, nothing custom. When I use them on the client, I get the following
errors.  Maybe I need to include some additional jars on my classpath? I am
using row filters in the filter list.

pseudo-ish code:

Scan s = new Scan();
FilterList fl = new
FilterList(FilterList.Operator.MUST_PASS_ALL){addFilter(new
RowFilter(CompareFilter.CompareOp.NOT_EQUAL, new
SubstringComparator("|something|")));addFilter(new
RowFilter(CompareFilter.CompareOp.NOT_EQUAL, new
SubstringComparator("|somethingelse|")));}
s.setFilter(fl);

Hbase Version 0.90.1-cdh3u0
Client jars: zookeeper.jar, hadoop-core-0.20.2-cdh3u0.jar,
hbase-0.90.1-cdh3u0.jar


2011-05-17 15:48:18,507 WARN  [myApplication] (Timer-0) Error with HBASE :
org.apache.hadoop.hbase.client.RetriesExhaustedException: Trying to contact
region server myServer:60020 for region
configurations,,1304949191933.7ba7234b7f76b97a6010876b9eb2b0d2., row '', but
failed after 10 attempts.
Exceptions:
java.io.IOException: Call to myServer/10.20.300.400:60020 failed on local
exception: java.io.EOFException
java.io.IOException: Call to myServer/10.20.300.400:60020 failed on local
exception: java.io.EOFException
java.io.IOException: Call to myServer/10.20.300.400:60020 failed on local
exception: java.io.EOFException
java.io.IOException: Call to myServer/10.20.300.400:60020 failed on local
exception: java.io.EOFException
java.io.IOException: Call to myServer/10.20.300.400:60020 failed on local
exception: java.io.EOFException
java.io.IOException: Call to myServer/10.20.300.400:60020 failed on local
exception: java.io.EOFException
java.io.IOException: Call to myServer/10.20.300.400:60020 failed on local
exception: java.io.EOFException
java.io.IOException: Call to myServer/10.20.300.400:60020 failed on local
exception: java.io.EOFException
java.io.IOException: Call to myServer/10.20.300.400:60020 failed on local
exception: java.io.EOFException
java.io.IOException: Call to myServer/10.20.300.400:60020 failed on local
exception: java.io.EOFException
        at
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getRegionServerWithRetries(HConnectionManager.java:1008)
[:]
        at
org.apache.hadoop.hbase.client.HTable$ClientScanner.nextScanner(HTable.java:1061)
[:]
        at
org.apache.hadoop.hbase.client.HTable$ClientScanner.initialize(HTable.java:984)
[:]
        at org.apache.hadoop.hbase.client.HTable.getScanner(HTable.java:526)
[:]
        at [myApplication].perform(ModelBuilder.java:116) [:]
        at
org.jboss.varia.scheduler.Scheduler$PojoScheduler.invoke(Scheduler.java:1267)
[:6.0.0.20101110-CR1]
        at
org.jboss.varia.scheduler.Scheduler$BaseListener.handleNotification(Scheduler.java:1235)
[:6.0.0.20101110-CR1]
        at sun.reflect.GeneratedMethodAccessor275.invoke(Unknown Source)
[:1.6.0_24]
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[:1.6.0_24]
        at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_24]
        at
org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:154)
[:6.0.0.Beta5]
        at $Proxy123.handleNotification(Unknown Source) at
javax.management.NotificationBroadcasterSupport.handleNotification(NotificationBroadcasterSupport.java:257)
[:1.6.0_24]
        at
javax.management.NotificationBroadcasterSupport$SendNotifJob.run(NotificationBroadcasterSupport.java:322)
[:1.6.0_24]
        at
javax.management.NotificationBroadcasterSupport$1.execute(NotificationBroadcasterSupport.java:307)
[:1.6.0_24]
        at
javax.management.NotificationBroadcasterSupport.sendNotification(NotificationBroadcasterSupport.java:229)
[:1.6.0_24]
        at javax.management.timer.Timer.sendNotification(Timer.java:1237)
[:1.6.0_24]
        at javax.management.timer.Timer.notifyAlarmClock(Timer.java:1206)
[:1.6.0_24]
        at javax.management.timer.TimerAlarmClock.run(Timer.java:1289)
[:1.6.0_24]
        at java.util.TimerThread.mainLoop(Timer.java:512) [:1.6.0_24]
        at java.util.TimerThread.run(Timer.java:462) [:1.6.0_24]
Thanks for any suggestions.

Re: [0.90.1-cdh3u0] Setting Filter Lists to a client Scan

Posted by Barney Frank <ba...@gmail.com>.
Yes, that was it.  My scans are now back on the fast track. Thanks!

On Tue, May 17, 2011 at 12:45 PM, Todd Lipcon <to...@cloudera.com> wrote:

> Hi Barney,
>
> I think the clever syntax you're using might be confusing things.
>
> Try:
> FilterList fl = new FilterList(FilterList.Operator.MUST_PASS_ALL);
> fl.addFilter(...);
> fl.addFilter(...);
> s.setFilter(fl);
>
> When you use the {...} trick, you're making an anonymous subclass of
> FilterList which doesn't exist on the server-side.
>
> -Todd
>
> On Tue, May 17, 2011 at 9:22 AM, Barney Frank <barneyfranks1@gmail.com
> >wrote:
>
> > I am having a problem adding filerLists to my scans.  These are the
> > standard
> > filters, nothing custom. When I use them on the client, I get the
> following
> > errors.  Maybe I need to include some additional jars on my classpath? I
> am
> > using row filters in the filter list.
> >
> > pseudo-ish code:
> >
> > Scan s = new Scan();
> > FilterList fl = new
> > FilterList(FilterList.Operator.MUST_PASS_ALL){addFilter(new
> > RowFilter(CompareFilter.CompareOp.NOT_EQUAL, new
> > SubstringComparator("|something|")));addFilter(new
> > RowFilter(CompareFilter.CompareOp.NOT_EQUAL, new
> > SubstringComparator("|somethingelse|")));}
> > s.setFilter(fl);
> >
> > Hbase Version 0.90.1-cdh3u0
> > Client jars: zookeeper.jar, hadoop-core-0.20.2-cdh3u0.jar,
> > hbase-0.90.1-cdh3u0.jar
> >
> >
> > 2011-05-17 15:48:18,507 WARN  [myApplication] (Timer-0) Error with HBASE
> :
> > org.apache.hadoop.hbase.client.RetriesExhaustedException: Trying to
> contact
> > region server myServer:60020 for region
> > configurations,,1304949191933.7ba7234b7f76b97a6010876b9eb2b0d2., row '',
> > but
> > failed after 10 attempts.
> > Exceptions:
> > java.io.IOException: Call to myServer/10.20.300.400:60020 failed on local
> > exception: java.io.EOFException
> > java.io.IOException: Call to myServer/10.20.300.400:60020 failed on local
> > exception: java.io.EOFException
> > java.io.IOException: Call to myServer/10.20.300.400:60020 failed on local
> > exception: java.io.EOFException
> > java.io.IOException: Call to myServer/10.20.300.400:60020 failed on local
> > exception: java.io.EOFException
> > java.io.IOException: Call to myServer/10.20.300.400:60020 failed on local
> > exception: java.io.EOFException
> > java.io.IOException: Call to myServer/10.20.300.400:60020 failed on local
> > exception: java.io.EOFException
> > java.io.IOException: Call to myServer/10.20.300.400:60020 failed on local
> > exception: java.io.EOFException
> > java.io.IOException: Call to myServer/10.20.300.400:60020 failed on local
> > exception: java.io.EOFException
> > java.io.IOException: Call to myServer/10.20.300.400:60020 failed on local
> > exception: java.io.EOFException
> > java.io.IOException: Call to myServer/10.20.300.400:60020 failed on local
> > exception: java.io.EOFException
> >        at
> >
> >
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getRegionServerWithRetries(HConnectionManager.java:1008)
> > [:]
> >        at
> >
> >
> org.apache.hadoop.hbase.client.HTable$ClientScanner.nextScanner(HTable.java:1061)
> > [:]
> >        at
> >
> >
> org.apache.hadoop.hbase.client.HTable$ClientScanner.initialize(HTable.java:984)
> > [:]
> >        at
> org.apache.hadoop.hbase.client.HTable.getScanner(HTable.java:526)
> > [:]
> >        at [myApplication].perform(ModelBuilder.java:116) [:]
> >        at
> >
> >
> org.jboss.varia.scheduler.Scheduler$PojoScheduler.invoke(Scheduler.java:1267)
> > [:6.0.0.20101110-CR1]
> >        at
> >
> >
> org.jboss.varia.scheduler.Scheduler$BaseListener.handleNotification(Scheduler.java:1235)
> > [:6.0.0.20101110-CR1]
> >        at sun.reflect.GeneratedMethodAccessor275.invoke(Unknown Source)
> > [:1.6.0_24]
> >        at
> >
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> > [:1.6.0_24]
> >        at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_24]
> >        at
> >
> >
> org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:154)
> > [:6.0.0.Beta5]
> >        at $Proxy123.handleNotification(Unknown Source) at
> >
> >
> javax.management.NotificationBroadcasterSupport.handleNotification(NotificationBroadcasterSupport.java:257)
> > [:1.6.0_24]
> >        at
> >
> >
> javax.management.NotificationBroadcasterSupport$SendNotifJob.run(NotificationBroadcasterSupport.java:322)
> > [:1.6.0_24]
> >        at
> >
> >
> javax.management.NotificationBroadcasterSupport$1.execute(NotificationBroadcasterSupport.java:307)
> > [:1.6.0_24]
> >        at
> >
> >
> javax.management.NotificationBroadcasterSupport.sendNotification(NotificationBroadcasterSupport.java:229)
> > [:1.6.0_24]
> >        at javax.management.timer.Timer.sendNotification(Timer.java:1237)
> > [:1.6.0_24]
> >        at javax.management.timer.Timer.notifyAlarmClock(Timer.java:1206)
> > [:1.6.0_24]
> >        at javax.management.timer.TimerAlarmClock.run(Timer.java:1289)
> > [:1.6.0_24]
> >        at java.util.TimerThread.mainLoop(Timer.java:512) [:1.6.0_24]
> >        at java.util.TimerThread.run(Timer.java:462) [:1.6.0_24]
> > Thanks for any suggestions.
> >
>
>
>
> --
> Todd Lipcon
> Software Engineer, Cloudera
>

Re: [0.90.1-cdh3u0] Setting Filter Lists to a client Scan

Posted by Todd Lipcon <to...@cloudera.com>.
Hi Barney,

I think the clever syntax you're using might be confusing things.

Try:
FilterList fl = new FilterList(FilterList.Operator.MUST_PASS_ALL);
fl.addFilter(...);
fl.addFilter(...);
s.setFilter(fl);

When you use the {...} trick, you're making an anonymous subclass of
FilterList which doesn't exist on the server-side.

-Todd

On Tue, May 17, 2011 at 9:22 AM, Barney Frank <ba...@gmail.com>wrote:

> I am having a problem adding filerLists to my scans.  These are the
> standard
> filters, nothing custom. When I use them on the client, I get the following
> errors.  Maybe I need to include some additional jars on my classpath? I am
> using row filters in the filter list.
>
> pseudo-ish code:
>
> Scan s = new Scan();
> FilterList fl = new
> FilterList(FilterList.Operator.MUST_PASS_ALL){addFilter(new
> RowFilter(CompareFilter.CompareOp.NOT_EQUAL, new
> SubstringComparator("|something|")));addFilter(new
> RowFilter(CompareFilter.CompareOp.NOT_EQUAL, new
> SubstringComparator("|somethingelse|")));}
> s.setFilter(fl);
>
> Hbase Version 0.90.1-cdh3u0
> Client jars: zookeeper.jar, hadoop-core-0.20.2-cdh3u0.jar,
> hbase-0.90.1-cdh3u0.jar
>
>
> 2011-05-17 15:48:18,507 WARN  [myApplication] (Timer-0) Error with HBASE :
> org.apache.hadoop.hbase.client.RetriesExhaustedException: Trying to contact
> region server myServer:60020 for region
> configurations,,1304949191933.7ba7234b7f76b97a6010876b9eb2b0d2., row '',
> but
> failed after 10 attempts.
> Exceptions:
> java.io.IOException: Call to myServer/10.20.300.400:60020 failed on local
> exception: java.io.EOFException
> java.io.IOException: Call to myServer/10.20.300.400:60020 failed on local
> exception: java.io.EOFException
> java.io.IOException: Call to myServer/10.20.300.400:60020 failed on local
> exception: java.io.EOFException
> java.io.IOException: Call to myServer/10.20.300.400:60020 failed on local
> exception: java.io.EOFException
> java.io.IOException: Call to myServer/10.20.300.400:60020 failed on local
> exception: java.io.EOFException
> java.io.IOException: Call to myServer/10.20.300.400:60020 failed on local
> exception: java.io.EOFException
> java.io.IOException: Call to myServer/10.20.300.400:60020 failed on local
> exception: java.io.EOFException
> java.io.IOException: Call to myServer/10.20.300.400:60020 failed on local
> exception: java.io.EOFException
> java.io.IOException: Call to myServer/10.20.300.400:60020 failed on local
> exception: java.io.EOFException
> java.io.IOException: Call to myServer/10.20.300.400:60020 failed on local
> exception: java.io.EOFException
>        at
>
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getRegionServerWithRetries(HConnectionManager.java:1008)
> [:]
>        at
>
> org.apache.hadoop.hbase.client.HTable$ClientScanner.nextScanner(HTable.java:1061)
> [:]
>        at
>
> org.apache.hadoop.hbase.client.HTable$ClientScanner.initialize(HTable.java:984)
> [:]
>        at org.apache.hadoop.hbase.client.HTable.getScanner(HTable.java:526)
> [:]
>        at [myApplication].perform(ModelBuilder.java:116) [:]
>        at
>
> org.jboss.varia.scheduler.Scheduler$PojoScheduler.invoke(Scheduler.java:1267)
> [:6.0.0.20101110-CR1]
>        at
>
> org.jboss.varia.scheduler.Scheduler$BaseListener.handleNotification(Scheduler.java:1235)
> [:6.0.0.20101110-CR1]
>        at sun.reflect.GeneratedMethodAccessor275.invoke(Unknown Source)
> [:1.6.0_24]
>        at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> [:1.6.0_24]
>        at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_24]
>        at
>
> org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:154)
> [:6.0.0.Beta5]
>        at $Proxy123.handleNotification(Unknown Source) at
>
> javax.management.NotificationBroadcasterSupport.handleNotification(NotificationBroadcasterSupport.java:257)
> [:1.6.0_24]
>        at
>
> javax.management.NotificationBroadcasterSupport$SendNotifJob.run(NotificationBroadcasterSupport.java:322)
> [:1.6.0_24]
>        at
>
> javax.management.NotificationBroadcasterSupport$1.execute(NotificationBroadcasterSupport.java:307)
> [:1.6.0_24]
>        at
>
> javax.management.NotificationBroadcasterSupport.sendNotification(NotificationBroadcasterSupport.java:229)
> [:1.6.0_24]
>        at javax.management.timer.Timer.sendNotification(Timer.java:1237)
> [:1.6.0_24]
>        at javax.management.timer.Timer.notifyAlarmClock(Timer.java:1206)
> [:1.6.0_24]
>        at javax.management.timer.TimerAlarmClock.run(Timer.java:1289)
> [:1.6.0_24]
>        at java.util.TimerThread.mainLoop(Timer.java:512) [:1.6.0_24]
>        at java.util.TimerThread.run(Timer.java:462) [:1.6.0_24]
> Thanks for any suggestions.
>



-- 
Todd Lipcon
Software Engineer, Cloudera