Home | About | Sematext search-lucene.com search-hadoop.com
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB
 Search Hadoop and all its subprojects:

Switch to Threaded View
HBase >> mail # user >> problem in running coprocessor


Copy link to this message
-
Re: problem in running coprocessor
The error was about myFilter().

Can you show the method body ?

On Mon, Jul 15, 2013 at 8:02 PM, ch huang <[EMAIL PROTECTED]> wrote:

> here is my example code , and regionserver error output. anyone can help?
>
> public class TestMyCo {
>  /**
>   * @param args
>   */
>  private static Configuration conf =null;
>
>  static {
>  conf = HBaseConfiguration.create();
>     conf.addResource( "hbase-site.xml");
>
>  }
>
>
>  public static void main(String[] args) throws IOException {
>   // TODO Auto-generated method stub
>   Configuration conf = HBaseConfiguration.create();
>   conf.addResource( "hbase-site.xml");
>   String tableName = "mytest";
>
>   final Scan scan = new Scan();
>   scan.addColumn("myfl".getBytes(), "myqf".getBytes());
>   final Filter filter = new ValueFilter(CompareFilter.CompareOp.EQUAL,new
> RegexStringComparator(".*\\.5"));
>        HTable table = new HTable(conf,tableName);
>   try{
>    System.out.println("start coprocessor search...");
>   long startTime = System.currentTimeMillis();
>         Map<byte[],Long> results > table.coprocessorExec(MyTestProtocol.class, null, null,
>           new Batch.Call<MyTestProtocol, Long>() {
>                   public Long call(MyTestProtocol mycheck) throws
> IOException {
>                    return mycheck.myFilter(scan, filter);
>                   }
>     });
>         long elapsedTime = System.currentTimeMillis() - startTime;
>         System.out.println("table search time( 1M rows ) : "+elapsedTime+"
> ms\n");
>         for(Map.Entry<byte[], Long> entry : results.entrySet()){
>          System.out.println("find : " +entry.getKey() + " : " +
> entry.getValue() );
>         }
>         System.out.println("coprocessor search end");
>
>
>         System.out.println("scan search start....");
>         startTime = System.currentTimeMillis();
>         Filter filter2 = new ValueFilter(CompareFilter.CompareOp.EQUAL,new
> RegexStringComparator(".*6$"));
>         Scan scan2 = new Scan();
>         scan2.addColumn("myfl".getBytes(), "myqf".getBytes());
>         scan2.setFilter(filter2);
>         ResultScanner rs = table.getScanner(scan2);
>         System.out.println("scan search end");
>         elapsedTime = System.currentTimeMillis() - startTime;
>         System.out.println("scan time( 1M rows ) : "+elapsedTime+" ms\n");
>         int count = 0;
>         for(Result res : rs){
>        //  System.out.println(res);
>          count++;
>         }
>         System.out.println("find "+count+" records");
>
>         table.close();
>
>      }catch(Throwable throwable){
>       throwable.printStackTrace();
>      }
>  }
>
>
> 13/07/16 10:56:27 ERROR regionserver.HRegionServer:
> org.apache.hadoop.hbase.ipc.CallerDisconnectedException: Aborting call
> execCoprocessor([B@229961ae,
>
> myFilter({"timeRange":[0,9223372036854775807],"batch":-1,"startRow":"","stopRow":"","totalColumns":1,"cacheBlocks":true,"families":{"myfl":["myqf"]},"maxVersions":1,"filter":"ValueFilter
> (EQUAL, .*\\x5C.5)","caching":-1}, ValueFilter (EQUAL, .*\x5C.5)), rpc
> version=1, client version=0, methodsFingerPrint=0), rpc version=1, client
> version=29, methodsFingerPrint=-1368823753 from 192.168.2.166:5541 after
> 60126 ms, since caller disconnected
>         at
>
> org.apache.hadoop.hbase.ipc.HBaseServer$Call.throwExceptionIfCallerDisconnected(HBaseServer.java:436)
>         at
>
> org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.nextInternal(HRegion.java:3856)
>         at
>
> org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.nextRaw(HRegion.java:3776)
>         at
>
> org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.next(HRegion.java:3759)
>         at
>
> org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.next(HRegion.java:3790)
>         at MyTestEndpoint.myFilter(MyTestEndpoint.java:33)
>         at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source)
>         at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB