phoenix.query.timeoutMs is a client side phoenix property. You can set it in client side hbase-site.xml for a global setting or can programmatically set it on per jdbc statement via stmt.setQueryTimeout(int seconds).
There are a couple other hbase level timeouts that are in play:
hbase.client.scanner.timeout.period default value of 60 seconds
Starting from just released phoenix 4.7, phoenix automatically renews scanner leases so that applications don't run into errors arising out of scanner lease expiration. So using a default value for this should be fine. To take advantage of this feature you would need to use an HBase version of that is as new as 0.98.17 for HBase-0.98, 1.0.3 for HBase-1.0 and 1.1.3 for HBase-1.1.
hbase.rpc.timeout - default value of 60 seconds
By default, Phoenix connections on a JVM share a single HConnection to a cluster. If you want different HConnections with their own phoenix and hbase level settings, you can do that by supplying a different principal or user string as described here: https://phoenix.apache.org/#SQL_Support
. This is a good option if your different applications are running on the same JVM and they have different performance characteristics. This is also a good option if you are using a pre-4.7 release and need to have different hbase.client.scanner.timeout.period values for your applications.
Hope this helps.