Created 10-11-2018 01:58 PM
I have a table with billions of records. When I run the following query "select count(*) from table" via sqlline it is working fine. But when I am trying count query from java class, I am getting timeout error. I am using phoenix JDBC thin driver to connect and run the query from a java class. For a small recordset, it is working fine. I have set the following configuration in connection properties and the same configuration are available on HBase.
phoenix.query.threadPoolSize = 500 phoenix.query.queueSize = 10000 hbase.client.scanner.timeout.period= 1800000 hbase.rpc.timeout = 1800000 phoenix.query.timeoutMs = 1800000 phoenix.query.keepAliveMs = 1800000 hbase.regionserver.lease.period =1800000 hbase.client.scanner.caching =1800000
java.util.concurrent.ExecutionException: org.apache.phoenix.exception.PhoenixIOException: Failed after attempts=6, exceptions: Wed Oct 10 14:21:38 EDT 2018, null, java.net.SocketTimeoutException: callTimeout=60000, callDuration=60302: Call to host_name failed on local exception: org.apache.hadoop.hbase.ipc.CallTimeoutException: Call id=156243, waitTime=60001, operationTimeout=60000 expired. row '13908?RB??D??%?=' on table 'Table_name' at region=Table_name,\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00,1528398264217.4677856e7ec417f1e1f2f50d71b31d9c., hostname=host,16020,1538041266262, seqNum=5357
Created 10-11-2018 02:47 PM
"waitTime=60001, operationTimeout=60000 expired"
You need to include hbase-site.xml on the classpath for your application. It is obvious from the error that the hbase.rpc.timeout and phoenix.query.timeoutMs are not being respected from this error.
Created 10-11-2018 02:47 PM
"waitTime=60001, operationTimeout=60000 expired"
You need to include hbase-site.xml on the classpath for your application. It is obvious from the error that the hbase.rpc.timeout and phoenix.query.timeoutMs are not being respected from this error.