Tanuj Khurana created PHOENIX-7695:
--------------------------------------
Summary: ParallelPhoenixResultSet keeps the
Key: PHOENIX-7695
URL: https://issues.apache.org/jira/browse/PHOENIX-7695
Project: Phoenix
Issue Type: Improvement
Reporter: Tanuj Khurana
ParallelPhoenixResultSet gets the result set from both the clusters but binds
to the first one. Subsequent rs.next() calls go to only one result set while
the other result set stays idle. The idle result set continues to hold onto any
server resources. Finally, when the client is done processing and calls close()
the two result sets are closed.
This delay in releasing server resources can cause issues when the request
volume is high. One case we have seen in production is in ORDER BY queries
where each region server reserves a fixed percentage of JVM heap memory for
sorting. We have seen for parallel requests the RS reserves the memory for the
request but the memory is not released soon enough. This impacts other ORDER BY
requests to the same RS since the memory pool is shared across all requests.
Once we have bounded the result set to one of the two result sets, we can
immediately close the other one since we won't be using it anymore.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)