You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "alex kamil (JIRA)" <ji...@apache.org> on 2016/02/16 07:31:18 UTC
[jira] [Comment Edited] (PHOENIX-2672)
OutOfOrderScannerNextException in SELECT DISTINCT query over tenant
connection
[ https://issues.apache.org/jira/browse/PHOENIX-2672?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15148156#comment-15148156 ]
alex kamil edited comment on PHOENIX-2672 at 2/16/16 6:30 AM:
--------------------------------------------------------------
[~anoop.hbase], increasing timeouts didn't help and this error shows up even when number of rows retrieved is <100. This happens only with this particular hbase/phoenix combination (Phoenix4.6 with HBase-1.0-cdh5.5.1). I submitted another jira with OutOfOrderScannerNextException in joins, may be these are related https://issues.apache.org/jira/browse/PHOENIX-2676
was (Author: alexdl):
[~anoop.hbase], increasing timeouts didn't help and this error shows up even when number of rows retrieved is <100. This happens only with this particular hbase/phoenix combination (Phoenix4.6 with HBase-1.0-cdh5.5.1). I submitted another jira with OutOfOrderScannerNextException in joins, may be these are related OutOfOrderScannerNextException https://issues.apache.org/jira/browse/PHOENIX-2676
> OutOfOrderScannerNextException in SELECT DISTINCT query over tenant connection
> ------------------------------------------------------------------------------
>
> Key: PHOENIX-2672
> URL: https://issues.apache.org/jira/browse/PHOENIX-2672
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 4.6.0
> Reporter: alex kamil
>
> I'm getting below exception in SELECT DISTINCT query using tenant-specific connection with phoenix 4.6-HBase-1.0-cdh5.5 .
> The exception disappears if I either switch to non-tenant connection, or remove DISTINCT from the query.
> 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: 2326 number_of_rows: 100 close_scanner: false next_call_seq: 0 client_handles_partials: true client_handles_heartbeats: true
> I'm using phoenix 4.6 for cloudera cdh5.5.1 community edition
> https://github.com/chiastic-security/phoenix-for-cloudera/tree/4.6-HBase-1.0-cdh5.5
> Below the test case, error log and hbase-site.xml settings:
> import java.sql.Connection;
> import java.sql.DriverManager;
> import java.sql.ResultSet;
> import java.sql.SQLException;
> import java.sql.Statement;
> import java.util.Properties;
> public class Test {
> public static void main (String [] args){
> Connection conn = null;
> String tenant = SYSTEMTENANT;
> String url = "my.ip";
> System.out.println("trying to initialize tenant-specific connection to hbaseUrl="+url+" for tenant="+tenant);
> Properties connProps = new Properties();
> connProps.setProperty("TenantId", tenant);
> String query = "SELECT DISTINCT ROWKEY,VS FROM TABLE1 ORDER BY VS DESC";
> try {
> conn = DriverManager.getConnection("jdbc:phoenix:"+url, connProps);
> Statement st = conn.createStatement();
> ResultSet resultSet = st.executeQuery(query);
> while(resultSet.next())
> {
> String rowKey = resultSet.getString(1);
> String versionSerial = resultSet.getString(2);
> System.out.println("rowkey="+rowKey+", versionserial="+versionSerial);
> }
> } catch (SQLException e) {
> // logger.error(e);
> e.printStackTrace();
> }
> }
> }
> Stack trace:
> org.apache.phoenix.exception.PhoenixIOException: org.apache.phoenix.exception.PhoenixIOException: Failed after retry of OutOfOrderScannerNextException: was there a rpc timeout?
> at org.apache.phoenix.util.ServerUtil.parseServerException(ServerUtil.java:108)
> at org.apache.phoenix.iterate.BaseResultIterators.getIterators(BaseResultIterators.java:558)
> at org.apache.phoenix.iterate.MergeSortResultIterator.getIterators(MergeSortResultIterator.java:48)
> at org.apache.phoenix.iterate.MergeSortResultIterator.minIterator(MergeSortResultIterator.java:84)
> at org.apache.phoenix.iterate.MergeSortResultIterator.next(MergeSortResultIterator.java:111)
> at org.apache.phoenix.iterate.BaseGroupedAggregatingResultIterator.next(BaseGroupedAggregatingResultIterator.java:64)
> at org.apache.phoenix.jdbc.PhoenixResultSet.next(PhoenixResultSet.java:771)
> at Test.main(Test.java:26)
> Caused by: java.util.concurrent.ExecutionException: org.apache.phoenix.exception.PhoenixIOException: Failed after retry of OutOfOrderScannerNextException: was there a rpc timeout?
> at java.util.concurrent.FutureTask.report(Unknown Source)
> at java.util.concurrent.FutureTask.get(Unknown Source)
> at org.apache.phoenix.iterate.BaseResultIterators.getIterators(BaseResultIterators.java:554)
> ... 6 more
> Caused by: org.apache.phoenix.exception.PhoenixIOException: Failed after retry of OutOfOrderScannerNextException: was there a rpc timeout?
> at org.apache.phoenix.util.ServerUtil.parseServerException(ServerUtil.java:108)
> at org.apache.phoenix.iterate.ScanningResultIterator.next(ScanningResultIterator.java:61)
> at org.apache.phoenix.iterate.TableResultIterator.next(TableResultIterator.java:107)
> at org.apache.phoenix.iterate.SpoolingResultIterator.<init>(SpoolingResultIterator.java:125)
> at org.apache.phoenix.iterate.SpoolingResultIterator.<init>(SpoolingResultIterator.java:83)
> at org.apache.phoenix.iterate.SpoolingResultIterator.<init>(SpoolingResultIterator.java:62)
> at org.apache.phoenix.iterate.SpoolingResultIterator$SpoolingResultIteratorFactory.newIterator(SpoolingResultIterator.java:78)
> at org.apache.phoenix.iterate.ParallelIterators$1.call(ParallelIterators.java:109)
> at org.apache.phoenix.iterate.ParallelIterators$1.call(ParallelIterators.java:100)
> at java.util.concurrent.FutureTask.run(Unknown Source)
> at org.apache.phoenix.job.JobManager$InstrumentedJobFutureTask.run(JobManager.java:183)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
> 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: 2326 number_of_rows: 100 close_scanner: false next_call_seq: 0 client_handles_partials: true client_handles_heartbeats: true
> at org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2177)
> 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)
> 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) 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:328)
> at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:255)
> at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:62)
> at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:200)
> at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:371)
> at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:345)
> at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:126)
> at org.apache.hadoop.hbase.client.ResultBoundedCompletionService$QueueingFuture.run(ResultBoundedCompletionService.java:64)
> hbase-site.xml settings:
> <property>
> <name>hbase.rpc.timeout</name>
> <value>60000</value>
> </property>
> <property>
> <name>hbase.client.scanner.caching</name>
> <value>100</value>
> </property>
> <property>
> <name>phoenix.query.timeoutMs</name>
> <value>60000</value>
> </property>
> <property>
> <name>"hbase.client.scanner.timeout.period</name>
> <value>60000</value>
> </property>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)