RedisClusterでアプリケーション側で"Redis::CommandError: CLUSTERDOWN The cluster is down"エラーがでたけど
Redisのログにはcluster downのログがはかれていなくて、原因が分からなかった。
あとたまに、Redisのログにごく短い間隔で
Cluster state changed: fail Cluster state changed: ok
が出力されていることもあった。
で、調べた結果、cluster-node-timeoutが短かったのが原因でした。
cluster-node-timeoutは単位がmillisecondsなのだけれど、この値が5になっていてそのせいで通信に5ms超えた場合cluster downだと判断されたもよう。
cluster-node-timeoutを5000にしたらエラーは出なくなりました。