From c88cb399cee90b2291b288e8fa51bd9f7af190b3 Mon Sep 17 00:00:00 2001 From: michael-grunder Date: Thu, 17 Jul 2014 10:41:21 -0700 Subject: Skip the failed node when falling back --- cluster_library.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'cluster_library.c') diff --git a/cluster_library.c b/cluster_library.c index 155f026b..0d202dc8 100644 --- a/cluster_library.c +++ b/cluster_library.c @@ -1035,8 +1035,12 @@ static int cluster_sock_write(redisCluster *c, unsigned short slot, zend_hash_has_more_elements(c->nodes)==SUCCESS; zend_hash_move_forward(c->nodes)) { + /* Grab node */ zend_hash_get_current_data(c->nodes, (void**)&seed_node); + /* Skip this node if it's the one that failed */ + if((*seed_node)->sock == redis_sock) continue; + // TODO: Allow for failure/redirection queries to be sent // to slave nodes, but for now, stick with masters. if((*seed_node)->slave) continue; -- cgit v1.2.3