{"action":"opened","issue":{"url":"https://api.github.com/repos/phpredis/phpredis/issues/858","repository_url":"https://api.github.com/repos/phpredis/phpredis","labels_url":"https://api.github.com/repos/phpredis/phpredis/issues/858/labels{/name}","comments_url":"https://api.github.com/repos/phpredis/phpredis/issues/858/comments","events_url":"https://api.github.com/repos/phpredis/phpredis/issues/858/events","html_url":"https://github.com/phpredis/phpredis/issues/858","id":163197441,"number":858,"title":"redis-cli cluster failover force is lock current $redisCluster->set","user":{"login":"chrishue","id":11087665,"avatar_url":"https://avatars.githubusercontent.com/u/11087665?v=3","gravatar_id":"","url":"https://api.github.com/users/chrishue","html_url":"https://github.com/chrishue","followers_url":"https://api.github.com/users/chrishue/followers","following_url":"https://api.github.com/users/chrishue/following{/other_user}","gists_url":"https://api.github.com/users/chrishue/gists{/gist_id}","starred_url":"https://api.github.com/users/chrishue/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrishue/subscriptions","organizations_url":"https://api.github.com/users/chrishue/orgs","repos_url":"https://api.github.com/users/chrishue/repos","events_url":"https://api.github.com/users/chrishue/events{/privacy}","received_events_url":"https://api.github.com/users/chrishue/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-06-30T15:39:35Z","updated_at":"2016-06-30T15:39:35Z","closed_at":null,"body":"Hi,\r\n\r\nI‘m currently testing  the redis cluster  and planning to use it with client phpredis \"RedisCluster\".\r\nRedis server 3.2.1\r\nPhpRedis 2.2.8-rc1\r\n\r\nOur configuration currently contain three masters spread across three hosts ( IP : A, B, C)\r\nEach host contains a slave for each masters.\r\n                IP A contain a master and contains slaves Ba et Ca (Ba is slave of master B.)\r\n                IP B contain a master and contains slaves Ab et Cb \r\n                IP C contain a master and contains slaves Ac et Bc \r\n So we actually have 3 masters and 6 slaves.\r\n\r\nIt currently works great … but we have an issue on failover recovery.\r\n\r\nHere is the test we are experimenting :\r\n\r\nWe’ve got a bit of code containing a loop of redisCluster->set. \r\n\r\nThe key we are checking is in a slot located on master A.\r\n                $redisCluster->set( 'tes0', $increment )\r\n\r\nWhen we stop the master service on host A , with a \"try/catch\" trick, it allow to reconnect to slave and continue the test.\r\n\r\nThis part is good … and work as expected.\r\n\r\nAt this Time, the master of the A Cluster is now 'Ab' (previously one of the slave) .\r\n\r\nSo Until then, there is no problem.\r\n...\r\n\r\nWe re-start the service on the A host. \r\n                Cmd \"redis-cli Cluster nodes\" tells me that A is now a slave of Ab\r\n               We Ilaunch on A: \"redis-cli cluster failover force\" with the loop code running.\r\n                Cmd \"redis-cli Cluster nodes\" tells me that A is now a master, and Ab , Ac is slave of A\r\n\r\nAt this point , $ redisCluster- > set ( .. ) becomes blocked and the test stop reponding !\r\n\r\nDoes it exists a way to configure some kind of timeout ??? (Configuration / phpredis cli ???)\r\n\r\nThanks By advance.\r\n"}}
{"actor":{"display_login":"chrishue"}}