You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Tanuj Khurana (Jira)" <ji...@apache.org> on 2025/08/29 18:50:00 UTC

[jira] [Created] (PHOENIX-7695) ParallelPhoenixResultSet keeps the

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)