Reputation: 5397
I have a table(say T1) in hbase on which i ran select count(*) from T1
which contains
over 60 million rows. But it gives the following the timeout exception error. Can't i change the timeout parameter of Phoenix?
com.salesforce.phoenix.exception.PhoenixIOException: com.salesforce.phoenix.exception.PhoenixIOException: 136520ms passed since the last invocation, timeout is currently set to 60000
at com.salesforce.phoenix.util.ServerUtil.parseServerException(ServerUtil.java:107)
at com.salesforce.phoenix.iterate.ParallelIterators.getIterators(ParallelIterators.java:217)
at com.salesforce.phoenix.iterate.ConcatResultIterator.getIterators(ConcatResultIterator.java:54)
at com.salesforce.phoenix.iterate.ConcatResultIterator.currentIterator(ConcatResultIterator.java:76)
at com.salesforce.phoenix.iterate.ConcatResultIterator.next(ConcatResultIterator.java:96)
at com.salesforce.phoenix.iterate.GroupedAggregatingResultIterator.next(GroupedAggregatingResultIterator.java:78)
at com.salesforce.phoenix.iterate.UngroupedAggregatingResultIterator.next(UngroupedAggregatingResultIterator.java:49)
at com.salesforce.phoenix.jdbc.PhoenixResultSet.next(PhoenixResultSet.java:741)
at com.salesforce.phoenix.jdbc.PhoenixConnection.executeStatements(PhoenixConnection.java:113)
at com.salesforce.phoenix.util.PhoenixRuntime.executeStatements(PhoenixRuntime.java:260)
at com.salesforce.phoenix.util.PhoenixRuntime.main(PhoenixRuntime.java:207)
Caused by: java.util.concurrent.ExecutionException: com.salesforce.phoenix.exception.PhoenixIOException: 136520ms passed since the last invocation, timeout is currently set to 60000
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:262)
at java.util.concurrent.FutureTask.get(FutureTask.java:119)
at com.salesforce.phoenix.iterate.ParallelIterators.getIterators(ParallelIterators.java:211)
... 9 more
Caused by: com.salesforce.phoenix.exception.PhoenixIOException: 136520ms passed since the last invocation, timeout is currently set to 60000
at com.salesforce.phoenix.util.ServerUtil.parseServerException(ServerUtil.java:107)
at com.salesforce.phoenix.iterate.ScanningResultIterator.next(ScanningResultIterator.java:62)
at com.salesforce.phoenix.iterate.TableResultIterator.next(TableResultIterator.java:86)
at com.salesforce.phoenix.iterate.SpoolingResultIterator.<init>(SpoolingResultIterator.java:110)
at com.salesforce.phoenix.iterate.SpoolingResultIterator.<init>(SpoolingResultIterator.java:75)
at com.salesforce.phoenix.iterate.SpoolingResultIterator$SpoolingResultIteratorFactory.newIterator(SpoolingResultIterator.java:69)
at com.salesforce.phoenix.iterate.ParallelIterators$2.call(ParallelIterators.java:184)
at com.salesforce.phoenix.iterate.ParallelIterators$2.call(ParallelIterators.java:174)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:679)
Caused by: org.apache.hadoop.hbase.client.ScannerTimeoutException: 136520ms passed since the last invocation, timeout is currently set to 60000
at org.apache.hadoop.hbase.client.ClientScanner.next(ClientScanner.java:283)
at com.salesforce.phoenix.iterate.ScanningResultIterator.next(ScanningResultIterator.java:57)
... 11 more
Caused by: org.apache.hadoop.hbase.UnknownScannerException: org.apache.hadoop.hbase.UnknownScannerException: Name: -3353955827223074008
at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:2590)
at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:320)
at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1426)
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:532)
at org.apache.hadoop.hbase.RemoteExceptionHandler.decodeRemoteException(RemoteExceptionHandler.java:96)
at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:149)
at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:42)
at org.apache.hadoop.hbase.client.ServerCallable.withRetries(ServerCallable.java:163)
at org.apache.hadoop.hbase.client.ClientScanner.next(ClientScanner.java:274)
... 12 more
Upvotes: 1
Views: 3701
Reputation: 21
Try to change hbase.regionserver.lease.period
and hbase.client.scanner.timeout.period
on the hbase server site.
Upvotes: -1
Reputation: 71
Try modifying the phoenix.query.timeoutMs to a higher value in the hbase-site.xml. It defaults to 10min.
Refer: https://github.com/forcedotcom/phoenix/wiki/Tuning
Upvotes: 2