[
https://issues.apache.org/jira/browse/PHOENIX-7695?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tanuj Khurana updated PHOENIX-7695:
-----------------------------------
Summary: ParallelPhoenixResultSet keeps the unused result set open for too
long (was: ParallelPhoenixResultSet keeps the )
> ParallelPhoenixResultSet keeps the unused result set open for too long
> ----------------------------------------------------------------------
>
> Key: PHOENIX-7695
> URL: https://issues.apache.org/jira/browse/PHOENIX-7695
> Project: Phoenix
> Issue Type: Improvement
> Reporter: Tanuj Khurana
> Priority: Major
>
> 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)