Astyanax requests fail in a 4-node cluster when a single node seed is down

I have a 4 node Cassandra cluster. A single node acts as the node seed for the Astyanax connection pool provided using the setSeeds (...) method when building the AstyanaxContext. I also included my own connection pool monitoring control. This shows that one host has been added (seed node), but it does not show me three other nodes. When extracting a seed node for Astyanax, for example. By disabling thrift through nodetool for that particular node, any Astyanax request to Cassandra fails. I thought the connection pool would recognize through the node (s) seed what the cluster looked like, and would the node seed require all the time?

I use RING_DESCRIBE as NodeDiscoveryType and TOKEN_AWARE as ConnectionPoolType.

+4
source share
1 answer

When sending a request using Astyanax, the contact point must always be executed. Training begins after you start writing several replicas, and the driver needs to work out where to send the extra replicated data (because, as you know, if you have more than 1 node, the data is written to several partitions)

What exactly do I mean?

127.0.0.1 <--- seed 127.0.0.2 127.0.0.3 127.0.0.4 // code where you initialize Astyanax ... .setSeeds("127.0.0.1") // this node always has to be available ... 
+1
source

Source: https://habr.com/ru/post/1489092/


All Articles