Hi,
We are constructing one client application for monitoring purpose since we have more than 10 Cassandra Datacenters located different countries.
We want to make sure each Datacenter got the latest replication data in time. Thus we built an application based on latest java driver (2.1.5) like this.
We concurrently initiated several Cluster and Session instances at the beginning of the process.
After each connection is ready,
1>. We use one connection to insert one record on the test table;
2>. Then triggered several query request based on the rest sessions, each connected to a different Cassandra Datacenters.
3>. After each query got the insert record. ( We only query the replication from local DC, using LOCAL_ONE).
We check the time costed among these steps.
We met an severe issue, that is: this process cost more than 1G memories if we input 10 hosts into this java routine.
What's worse, occasionally, the routine run into a never-stop state without no output information, and we have to kill the process.
On tracing, we found that is a jvm 'Full GC' loop.
How would this happen? How would only 10 pairs of Cluster and Session instances corrupt this simple routine?
Or is this a bug, or we didn't using your API or Options properly?
Thanks advance for any feedbacks.
yours sincerely
Martin.
May 28th