Description
In doing performance testing with Phoenix I noticed that under heavy load we saw queries taking as long as 300 secs even though we had set phoenix.query.timeoutMs to 120 secs. It looks like the timeout is applied when the parent thread waits for all the parallel scans to complete. Each time we call rs.next() and need a to load a new chunk of data from HBase we again run parallel scans with a new 120 sec timeout. Therefore total query time could be timeout * # chunks scanned. I think it would be more intuitive if the query timeout applied to the query as a whole versus resetting for each chunk.