Archives of Support Questions (Read Only)

This is an archived board for historical reference. Information and links may no longer be available or relevant
Announcements
This board is archived and read-only for historical reference. To ask a new question, please post a new topic on the appropriate active board.

Phoenix query call from java on larger data set fails with java.net.SocketTimeoutException: callTimeout=60000

avatar
New Member

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

1 ACCEPTED SOLUTION

avatar
Super Guru

"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.

View solution in original post

1 REPLY 1

avatar
Super Guru

"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.