[ https://issues.apache.org/jira/browse/HBASE-13435?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrew Purtell resolved HBASE-13435. ------------------------------------ Resolution: Duplicate We have several JIRAs that duplicate this. Search for 'OutOfOrderScannerNextException' > Scan with PrefixFilter, Range filter, column filter, or all 3 returns > OutOfOrderScannerNextException > ---------------------------------------------------------------------------------------------------- > > Key: HBASE-13435 > URL: https://issues.apache.org/jira/browse/HBASE-13435 > Project: HBase > Issue Type: Bug > Reporter: William Watson > > We've run this with an hbase shell prefix filter, tried with column, range > filters, and limits, and tried doing a pig script -- which we knew was going > to be less performant but thought it could work with the same, simple > purpose. We wanted to select a specific user's data from a few days (14 ish) > worth of data. We also tried selecting a few hours worth of data as a work > around, to no avail. In pig, we switched it to just give us all the data for > the two week time range. > The errors look like RPC timeouts, but we don't feel it should be happening > and that pig/hbase/both should be able to handle these "queries", if you will. > The error we get in both the hbase shell and in pig boils down to "possible > RPC timeout?". Literally says "?" in the message. > We saw this stack overflow, but it's not very helpful. I also saw a few hbase > tickets, none of which are super helpful and none indicate that this was an > issue fixed in hbase 0.99 or anything newer that what we have. > http://stackoverflow.com/questions/26437830/hbase-shell-outoforderscannernextexception-error-on-scanner-count-calls > Here are the down and dirty deets: > Pig script: > {code} > hbase_records = LOAD 'hbase://impression_event_production_hbase' > USING org.apache.pig.backend.hadoop.hbase.HBaseStorage( > 'cf1:uid:chararray,cf1:ts:chararray,cf1:data_regime_id:chararray,cf1:ago:chararray,cf1:ao:chararray,cf1:aca:chararray,cf1:si:chararray,cf1:ci:chararray,cf1:kv0:chararray,cf1:g_id:chararray,cf1:h_id:chararray,cf1:cg:chararray,cf1:kv1:chararray,cf1:kv2:chararray,cf1:kv3:chararray,cf1:kv4:chararray,cf1:kv5:chararray,cf1:kv6:chararray,cf1:kv7:chararray,cf1:kv8:chararray,cf1:kv9:chararray', > '-loadKey=false -minTimestamp=1427299200000 -maxTimestamp=1428551999000') > AS > (uid,ts,data_regime_id,ago,ao,aca,si,ci,kv0,g_id,h_id,cg,kv1,kv2,kv3,kv4,kv5,kv6,kv7,kv8,kv9); > > store hbase_records into 'output_place'; > {code} > Error: > {code} > 2015-04-08 20:18:35,316 [main] INFO > org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher > - Failed! > 2015-04-08 20:18:35,610 [main] ERROR org.apache.pig.tools.grunt.GruntParser - > ERROR 2997: Unable to recreate exception from backed error: Error: > org.apache.hadoop.hbase.DoNotRetryIOException: Failed after retry of > OutOfOrderScannerNextException: was there a rpc timeout? > at org.apache.hadoop.hbase.client.ClientScanner.next(ClientScanner.java:403) > at > org.apache.hadoop.hbase.mapreduce.TableRecordReaderImpl.nextKeyValue(TableRecordReaderImpl.java:232) > > at > org.apache.hadoop.hbase.mapreduce.TableRecordReader.nextKeyValue(TableRecordReader.java:138) > > at > org.apache.pig.backend.hadoop.hbase.HBaseTableInputFormat$HBaseTableRecordReader.nextKeyValue(HBaseTableInputFormat.java:162) > > at > org.apache.pig.backend.hadoop.hbase.HBaseStorage.getNext(HBaseStorage.java:645) > > at > org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigRecordReader.nextKeyValue(PigRecordReader.java:204) > > at > org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.nextKeyValue(MapTask.java:533) > > at > org.apache.hadoop.mapreduce.task.MapContextImpl.nextKeyValue(MapContextImpl.java:80) > > at > org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context.nextKeyValue(WrappedMapper.java:91) > > at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144) > at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:764) > at org.apache.hadoop.mapred.MapTask.run(MapTask.java:340) > at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:167) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:415) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1557) > > at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:162) > Caused 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: > 4919882396333524452 number_of_rows: 100 close_scanner: false next_call_seq: 0 > at > org.apache.hadoop.hbase.regionserver.HRegionServer.scan(HRegionServer.java:3110) > > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:28861) > > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2008) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:92) > at > org.apache.hadoop.hbase.ipc.SimpleRpcScheduler.consumerLoop(SimpleRpcScheduler.java:160) > > at > org.apache.hadoop.hbase.ipc.SimpleRpcScheduler.access$000(SimpleRpcScheduler.java:38) > > at > org.apache.hadoop.hbase.ipc.SimpleRpcScheduler$1.run(SimpleRpcScheduler.java:110) > > at java.lang.Thread.run(Thread.java:744) > 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:285) > > 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) > ... 16 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: > 4919882396333524452 number_of_rows: 100 close_scanner: false next_call_seq: 0 > at > org.apache.hadoop.hbase.regionserver.HRegionServer.scan(HRegionServer.java:3110) > > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:28861) > > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2008) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:92) > at > org.apache.hadoop.hbase.ipc.SimpleRpcScheduler.consumerLoop(SimpleRpcScheduler.java:160) > > at > org.apache.hadoop.hbase.ipc.SimpleRpcScheduler.access$000(SimpleRpcScheduler.java:38) > > at > org.apache.hadoop.hbase.ipc.SimpleRpcScheduler$1.run(SimpleRpcScheduler.java:110) > > at java.lang.Thread.run(Thread.java:744) > 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) > ... 20 more > {code} > HBase shell command: > {code} > 1.9.3-p194 :014 > scan 'impression_event_production_hbase', > {FILTER=>"(PrefixFilter('oPbHNBCaRn6T'))"} > {code} > Error: > {code} > ROW COLUMN+CELL > ERROR: org.apache.hadoop.hbase.exceptions.OutOfOrderScannerNextException: > Expected nextCallSeq: 1 But the nextCallSeq got from client: 0; > request=scanner_id: 2229260827522260650 number_of_rows: 100 close_scanner: > false next_call_seq: 0 > at > org.apache.hadoop.hbase.regionserver.HRegionServer.scan(HRegionServer.java:3110) > > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:28861) > > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2008) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:92) > at > org.apache.hadoop.hbase.ipc.SimpleRpcScheduler.consumerLoop(SimpleRpcScheduler.java:160) > > at > org.apache.hadoop.hbase.ipc.SimpleRpcScheduler.access$000(SimpleRpcScheduler.java:38) > > at > org.apache.hadoop.hbase.ipc.SimpleRpcScheduler$1.run(SimpleRpcScheduler.java:110) > > at java.lang.Thread.run(Thread.java:744) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)