Reputation: 31
i'm pretty new to cassandra and i'm not quiet sure if i understood everything correctly, so i hope somebody can help me.
this is my system:
when one node goes down, i'm quiet sure of that:
this is what i don't understand:
i dug around in the code of the gem and it looks like if the cassandra cluster tells the gem that it can find a record on the dead node (which is actually down). so the gem fails with an exception, that it can't connect to the dead node.
so i'm not sure if i have misunderstood something entirely, my cassandra setup is wrong or if the cassandra ruby gem is the problem (which i don't think).
thx, simon
[1] https://github.com/twitter/cassandra
Upvotes: 3
Views: 1411
Reputation: 3684
Yes your cluster should work as you described with a dead node.
I'm not familiar with ruby or the ruby client but it sounds more likely to me that your client is trying to send requests to the dead node which would cause a 'can't connect' type of exception. Cassandra would throw an UnavailableException if there weren't enough nodes up to meet the consistency requirements of a certain query.
What type of pooling does the ruby client do and are you sure it isn't attempting to send queries to a node that is down? Assuming the ruby client has some sort of connection pooling, it would likely have to see at least one failed query before it realizes a node is down.
Upvotes: 0