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?
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