Looks like I didn't set startRow for the scanner...

2015-04-06 17:04 GMT+02:00 Serega Sheypak <serega.shey...@gmail.com>:

> Hi, I'm trying to use PrefixFilter for the RowKey.
> My rowKey consists of 3 parts, actually it's composite.
> I do provide first part of key to scan all rows starting from prefix.
> There should be less than 10 rowkeys for each prefix, since prefix is md5
> hash.
> I have itests for this part of code, it runs without any problems, failure
> happens on real data of course. Can't get what Im doing wrong.
>
> private Scan createCrossIdRowKeyPrefixFilterScanner(byte[] prefix, int limit){
>     Scan scan = new Scan();
>     scan.addColumn(CF_B, CQ_B);
>     scan.setMaxResultSize(limit);
>     scan.setBatch(BATCH);
>     scan.setMaxVersions(SINGLE_VERSION);
>     scan.setCaching(CACHING);
>
>     PrefixFilter prefixFilter = new PrefixFilter(prefix);
>     scan.setFilter(prefixFilter);
>
>     return scan;
> }
>
>
> and invocation:
>
> stopWatch.start();
> resultScanner = hTable.getScanner(rowKeyPrefixScanner);
> Result[] results = resultScanner.next(limit);
> stopWatch.stop();
> LOG.debug("Took ["+(stopWatch.getTime()/1000L)+"]sec to scan for key prefix");
> return parseUsers(results);
>
> And I get:
>
> used by:
> org.apache.hadoop.hbase.exceptions.OutOfOrderScannerNextException:
> org.apache.hadoop.hbase.exceptions.OutOfOrderScannerNextException: Expected
> nextCallSeq: 1 But the nextCallSeq got from client: 0; request=scanner_id:
> 225177 number_of_rows: 10 close_scanner: false next_call_seq: 0
>
> at
> org.apache.hadoop.hbase.regionserver.HRegionServer.scan(HRegionServer.java:3193)
>
> at
> org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:29587)
>
> at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2031)
>
> at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:108)
>
> at
> org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:114)
>
> at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:94)
>
> at java.lang.Thread.run(Thread.java:745)
>
>
>  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>
> at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
>
> at
> org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:106)
>
> at
> org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:95)
>
> at
> org.apache.hadoop.hbase.protobuf.ProtobufUtil.getRemoteException(ProtobufUtil.java:304)
>
> at
> org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:204)
>
> at
> org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:59)
>
> at
> org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:114)
>
> at
> org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:90)
>
> at
> org.apache.hadoop.hbase.client.ClientScanner.next(ClientScanner.java:355)
>
> ... 14 more
>
> Caused by:
> org.apache.hadoop.hbase.ipc.RemoteWithExtrasException(org.apache.hadoop.hbase.exceptions.OutOfOrderScannerNextException):
> org.apache.hadoop.hbase.exceptions.OutOfOrderScannerNextException: Expected
> nextCallSeq: 1 But the nextCallSeq got from client: 0; request=scanner_id:
> 225177 number_of_rows: 10 close_scanner: false next_call_seq: 0
>
> at
> org.apache.hadoop.hbase.regionserver.HRegionServer.scan(HRegionServer.java:3193)
>
> at
> org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:29587)
>
> at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2031)
>
> at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:108)
>
> at
> org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:114)
>
> at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:94)
>
> at java.lang.Thread.run(Thread.java:745)
>
>
>  at org.apache.hadoop.hbase.ipc.RpcClient.call(RpcClient.java:1457)
>
> at
> org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1661)
>
> at
> org.apache.hadoop.hbase.ipc.RpcClient$BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1719)
>
> at
> org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$BlockingStub.scan(ClientProtos.java:29990)
>
> at
> org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:174)
>

Reply via email to