Jane He created CASSANDRA-19457:
-----------------------------------

             Summary: Memory Leak of `DefaultSession`
                 Key: CASSANDRA-19457
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-19457
             Project: Cassandra
          Issue Type: Bug
          Components: Client/java-driver
            Reporter: Jane He
            Assignee: Jane He


There is a memory leak of previous closed {{{}DefaultSession{}}}s. It can be 
reproduced by this:
{code:java}
    public static void main(String[] args) throws InterruptedException {
        Semaphore sema = new Semaphore(20);
        for (int i = 0; i < 10000; i++) {
            new Thread(() -> {
                try {
                    sema.acquire();
                    try(CqlSession session = CqlSession.builder()
                            
.withCloudSecureConnectBundle(Paths.get("bundle.zip"))
                            .withAuthCredentials("token", "<some token here>")
                            .build()) {
                        // Do stuff
                    }
                } catch (Exception e) {
                    System.out.println(e);
                } finally {
                    sema.release();
                }
            }).start();
        }
    }{code}
On initial investigation, it seems like 
{{MicrometerMetricUpdater.initializeGauge()}} uses 
{{{}Gauge.{}}}{{{}_builder()_{}}} _using_ {{_Supplier_}} _._ This creates a 
strong reference that is causing the issue.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to