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]