I changed the hbase.client.scanner.timeout.period at both the client and server level. After that i use phoenix to run a query, but still see the error. Seems even after changing the require parameters the defaults get applied. Any suggestions on how to fix this?
Caused by: org.apache.hadoop.hbase.client.ScannerTimeoutException: 1864561ms passed since the last invocation, timeout is currently set to 60000
Also sometimes i do see the below exception too
java.net.SocketTimeoutException: callTimeout=60000, callDuration=60307
i have set the following properties
<property> <name>hbase.client.scanner.timeout.period</name> <value>1800000</value> </property> -- <property> <name>hbase.rpc.timeout</name> <value>1800000</value> </property> -- <property> <name>phoenix.query.keepAliveMs</name> <value>1800000</value> </property> <property> <name>phoenix.query.timeoutMs</name> <value>1800000</value> </property> <property> <name>zookeeper.session.timeout</name> <value>1800000</value> </property>
Looks like the hbase configuration is not picked by the phoenix client.
Please check by setting either of the following environment variables:
export HBASE_CONF_DIR=/etc/hbase/conf Or
It seems that server adhered this property "hbase.client.scanner.timeout.period" for lease expiration but the client has not . can you check that your hbase-site.xml is in class path of your phoenix client(application/sqlline) as well.
If we are using the CDH/CDP both timeout parameters(hbase.rpc.timeout & hbase.client.scanner.timeout.period) need to be added in both server-side and client-side in the below paths from the HBase configuration.
HBase Service Advanced Configuration Snippet (Safety Valve) for hbase-site.xml
HBase Client Advanced Configuration Snippet (Safety Valve) for hbase-site.xml
Bothe the time-out parameters need to be added on the server and client-side and RPC(hbase.rpc.timeout) time-out needs to be set a bit higher than the client scanner time-out (hbase.client.scanner.timeout.period).