You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@phoenix.apache.org by Alex Kamil <al...@gmail.com> on 2016/02/10 23:49:34 UTC

Cannot support join operations in scans with limit

We're getting below exception in sqlline in phoenix 4.6 (community edition)
with hbase1.0_cdh5.5, any ideas?


0: jdbc:phoenix:localhost> select * from table2 B join (select id from
table1) A on A.id=B.otherid;
java.lang.RuntimeException:
org.apache.phoenix.exception.PhoenixIOException:
org.apache.phoenix.exception.PhoenixIOException: *Failed after retry of
OutOfOrderScannerNextException: was there a rpc timeout?*
        at sqlline.IncrementalRows.hasNext(IncrementalRows.java:73)
        at sqlline.TableOutputFormat.print(TableOutputFormat.java:33)
        at sqlline.SqlLine.print(SqlLine.java:1653)
        at sqlline.Commands.execute(Commands.java:833)
        at sqlline.Commands.sql(Commands.java:732)
        at sqlline.SqlLine.dispatch(SqlLine.java:808)
        at sqlline.SqlLine.begin(SqlLine.java:681)
        at sqlline.SqlLine.start(SqlLine.java:398)
        at sqlline.SqlLine.main(SqlLine.java:292)


*in regionserver log:*


2016-02-10 22:39:13,579 DEBUG org.apache.hadoop.hbase.ipc.RpcServer:
B.defaultRpcServer.handler=0,queue=0,port=60020: callId: 2858 service:
ClientService methodName: Scan size: 24 connection: 172.17.66.31:63811

*java.io.IOException: Cannot support join operations in scans with limit*

        at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2068)

        at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:107)

        at
org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:130)

        at
org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:107)

        at java.lang.Thread.run(Thread.java:744)

Caused by: java.lang.UnsupportedOperationException: Cannot support join
operations in scans with limit

        at
org.apache.phoenix.coprocessor.HashJoinRegionScanner.processResults(HashJoinRegionScanner.java:120)

        at
org.apache.phoenix.coprocessor.HashJoinRegionScanner.nextRaw(HashJoinRegionScanner.java:270)

        at
org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:77)

        at
org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2292)

        at
org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:32205)

        at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2034)


*To Reproduce:*

CREATE TABLE table1( id bigint not null, message varchar CONSTRAINT pk
PRIMARY KEY (id) );
CREATE TABLE table2( id bigint not null, message varchar, otherid bigint
CONSTRAINT pk PRIMARY KEY (id) );
upsert into table1(id,message) values(123,'m1');
upsert into table1(id,message) values(456,'m2');
upsert into table2(id,message,otherid) values(789,'m1',123);
0: jdbc:phoenix:localhost> select * from table2 B join (select id from
table1) A on A.id=B.otherid;
java.lang.RuntimeException:
org.apache.phoenix.exception.PhoenixIOException:
org.apache.phoenix.exception.PhoenixIOException: Failed after retry of
OutOfOrderScannerNextException: was there a rpc timeout?
        at sqlline.IncrementalRows.hasNext(IncrementalRows.java:73)
        at sqlline.TableOutputFormat.print(TableOutputFormat.java:33)
        at sqlline.SqlLine.print(SqlLine.java:1653)
        at sqlline.Commands.execute(Commands.java:833)
        at sqlline.Commands.sql(Commands.java:732)
        at sqlline.SqlLine.dispatch(SqlLine.java:808)
        at sqlline.SqlLine.begin(SqlLine.java:681)
        at sqlline.SqlLine.start(SqlLine.java:398)
        at sqlline.SqlLine.main(SqlLine.java:292)
0: jdbc:phoenix:localhost>