Hi All,
My application runs on Weblogic and talks to Cassandra as backend db for which we have used Kundera cassandra client...
we have also used spring framework to handle the EnitityManagerFactory lifecycle..
During our failover testing we have seen an increase in Cassandra Connection pool thread count with the restart of cassandra node... we have seen the thread count goes upto 600+ even though we had specified "kundera.pool.size.max=40" for our 8 node Cassandra cluster..
we are using "Kundera-cassandra-2.11.1.jar" and "Kundera-core-2.11.1.jar" ..
My persistent.xml:
<?xml version="1.0" encoding="UTF-8"?>
<persistence-unit name="cassandratesting">
<provider>com.impetus.kundera.KunderaPersistence</provider>
<properties>
<property name="kundera.dialect" value="cassandra"/>
<property name="kundera.nodes" value="******"/>
<!-- the port number for the thrift protocol-->
<property name="kundera.port" value="***"/>
<property name="kundera.keyspace" value="***"/>
<property name="kundera.username" value="****"/>
<property name="kundera.password" value="*****"/>
<property name="kundera.pool.size.max.total" value="40"/>
<property name="kundera.pool.size.max.active" value="10"/>
<property name="kundera.pool.size.min.idle" value="2"/>
<property name="kundera.pool.size.max.idle" value="5"/>
<property name="kundera.client.lookup.class" value="com.impetus.client.cassandra.thrift.ThriftClientFactory"/>
<property name="kundera.client.property" value="kunderaLoadTestingConfig.xml" />
</properties>
</persistence-unit>
</persistence>
====================
and KunderaLoadTestingConfig.xml
<?xml version="1.0" encoding="UTF-8"?>
<clientProperties>
<datastores>
<dataStore>
<name>cassandratesting</name>
<connection>
<servers>
<!-- List and configure all nodes below -->
<server>
<host>******</host>
<port>****</port>
<properties>
<property name="kundera.username" value="****"/>
<property name="kundera.password" value="****"/>
<property name="testwhileidle" value="true"></property>
<property name="socket.timeout" value="10000"></property>
<property name="failover.policy" value="on.fail.try.one.next.available"></property>
<property name="retry" value="true"></property>
</properties>
</server>
</dataStore>
</datastores>
</clientProperties>