Question

When some of the cassandra server in cluster are down phpcassa takes lot of time to respond.

Logically phpcassa should connect to running nodes and get data in stead of trying to connect to down nodes.

Do anybody have any idea how phpcassa works? What is its behavior in down node situations?

Was it helpful?

Solution

Check make_conn function here and last few lines of ConnectionPool constructor

So, first PHPCassa shuffles your servers list in random, then it tries to connect to every server in your list twice in a cycle, only if the queue length is zero after the first cycle [make_conn] else it returns the moment it gets the first successful connection

Also remember that your make_conn function is not called from the constructor. It will be called when there is a need for it. The source code is very simple you can go through it to get more sense

Check this code to see how connection failure is handled and this to know the reasons for connection failure

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top