[ https://issues.apache.org/jira/browse/PHOENIX-4413?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Chinmay Kulkarni reassigned PHOENIX-4413: ----------------------------------------- Assignee: Chinmay Kulkarni > Possible queryserver memory leak when reusing connections and statements > ------------------------------------------------------------------------ > > Key: PHOENIX-4413 > URL: https://issues.apache.org/jira/browse/PHOENIX-4413 > Project: Phoenix > Issue Type: Bug > Affects Versions: 4.12.0, 4.13.0 > Reporter: Alex Araujo > Assignee: Chinmay Kulkarni > Priority: Major > > While testing client-side connection pooling using the [C# client from > Microsoft|https://github.com/Azure/hdinsight-phoenix-sharp], we attempted to > avoid creating new connections and statements for every Phoenix statement > execution (essentially just a simple SELECT for single key). The results > were very positive from a performance perspective. However, after a certain > amount of statements executed in this manner, memory on the PQS appears to > spike, and performance degrades significantly. > Steps to Recreate > Setup > 1) Create the table: "CREATE TABLE <TableName> (TestKey varchar(255) PRIMARY > KEY, TestValue varchar(10000))". > 2) Populate the table with 100 random TestKey and TestValue records. > Execution (if done with one thread, this can take up to 24 hours, so we > multithreaded it) > 1) Create connection using OpenConnectionRequestAsync. > 2) Create statement using CreateStatementRequestAsync. > 3) Loop n times, selecting a record with a single random key: "SELECT > TestKey, TestValue FROM <TableName> WHERE TestKey = <TestKey>'' issued using > PrepareAndExecuteRequestAsync. > 4) Close statement. > 5) Close connection. > Teardown > 1) Drop the table. -- This message was sent by Atlassian JIRA (v7.6.3#76005)