I have a fairly big table on a noy-so-fairly-powerfull cluster, so it takes a lot of time for queries to respond. I don't mind that but it times out for many queries :

0: jdbc:phoenix:nn.lan> select count(*) from words;
+------------------------------------------+
|                 COUNT(1)                 |
+------------------------------------------+
java.lang.RuntimeException: org.apache.phoenix.exception.PhoenixIOException: org.apache.phoenix.exception.PhoenixIOException: Failed after attempts=1, exceptions: Mon Sep 28 15:32:25 BST 2015, RpcRetryingCaller{globalStartTime=1443450685716, pause=100, retries=1}, org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=1, exceptions: Mon Sep 28 15:32:25 BST 2015, RpcRetryingCaller{globalStartTime=1443450685716, pause=100, retries=1}, org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=1, exceptions: Mon Sep 28 15:32:25 BST 2015, RpcRetryingCaller{globalStartTime=1443450685716, pause=100, retries=1}, java.io.IOException: Call to d2.lan/192.168.0.30:16020 failed on local exception: org.apache.hadoop.hbase.ipc.CallTimeoutException: Call id=842, waitTime=60001, operationTimeout=60000 expired.



    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:nn.lan> Closing: org.apache.phoenix.jdbc.PhoenixConnection


I did try some settings on hbase-site without luck:


phoenix.query.timeoutMs =6000000 hbase.client.operation.timeout =1200000 
hbase.client.backpressure.enabled =true hbase.client.retries.number =1

Any ideas how can this be fixed?

It seems the problem is that the timeout for iterating through results is 60secs. I assume if it doesn't get 1 result within that period, it times out. Since this is a count(*) query with only 1 row, it does timeout.

Thanks

Reply via email to