Hey,
I wanted to ask here before I opened an issue for the driver.
I'm using version 2.7.3 of the driver.
The PoolingOptions define core connections and max connections that limit the
number of connections that should be opened to each host.
However, each Session object you retrieve through Cluster.Connect maintains its
own ConcurrentDictionary of HostConnectionPools. In our application, we have 3
keyspaces. We perform 3 Cluster.Connect calls. When we eventually start using
the corresponding Session objects, we eventually end up with three times the
number of actual connections to each Cassandra host.
Is this intended? Shouldn't the Session objects share the same dictionary or
HostConnectionPools?
The Host objects are Cluster-scoped singletons. This has the effect that each
HostConnectionPool object you create registers an additional OnHostDown and
OnHostUp event with the corresponding Host object. Again, this doesn't seem
right.
Please clarify if this is as it should be.
Thanks,Soto