From 8a05d22be796ff646df3f74196cc13bb422e66e4 Mon Sep 17 00:00:00 2001 From: Morris Jobke Date: Thu, 11 May 2017 17:02:49 -0500 Subject: [PATCH] Update redis cluster documentation Signed-off-by: Morris Jobke --- config/config.sample.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/config/config.sample.php b/config/config.sample.php index 002f47649b..2bafbd411c 100644 --- a/config/config.sample.php +++ b/config/config.sample.php @@ -1062,8 +1062,16 @@ $CONFIG = array( * * Available failover modes: * - \RedisCluster::FAILOVER_NONE - only send commands to master nodes (default) - * - \RedisCluster::FAILOVER_ERROR - failover to slaves for read commands if master is unavailable + * - \RedisCluster::FAILOVER_ERROR - failover to slaves for read commands if master is unavailable (recommended) * - \RedisCluster::FAILOVER_DISTRIBUTE - randomly distribute read commands across master and slaves + * + * WARNING: FAILOVER_DISTRIBUTE is a not recommended setting and we strongly + * suggest to not use it if you use Redis for file locking. Due to the way Redis + * is synchronised it could happen, that the read for an existing lock is + * scheduled to a slave that is not fully synchronised with the connected master + * which then causes a FileLocked exception. + * + * See https://redis.io/topics/cluster-spec for details about the Redis cluster */ 'redis.cluster' => [ 'seeds' => [ // provide some/all of the cluster servers to bootstrap discovery, port required @@ -1072,7 +1080,7 @@ $CONFIG = array( ], 'timeout' => 0.0, 'read_timeout' => 0.0, - 'failover_mode' => \RedisCluster::FAILOVER_DISTRIBUTE + 'failover_mode' => \RedisCluster::FAILOVER_ERROR ],