antirez 25c0f5ac63 Cluster: better cluster state transiction handling.
Before we relied on the global cluster state to make sure all the hash
slots are linked to some node, when getNodeByQuery() is called. So
finding the hash slot unbound was checked with an assertion. However
this is fragile. The cluster state is often updated in the
clusterBeforeSleep() function, and not ASAP on state change, so it may
happen to process clients with a cluster state that is 'ok' but yet
certain hash slots set to NULL.

With this commit the condition is also checked in getNodeByQuery() and
reported with a identical error code of -CLUSTERDOWN but slightly
different error message so that we have more debugging clue in the
future.

Root cause of issue #2288.
2015-03-20 09:59:28 +01:00
..
2012-04-13 17:52:33 -07:00
2014-09-29 06:49:07 -04:00
2014-08-08 10:43:54 +02:00
2015-01-19 14:10:12 -05:00
2013-01-19 10:59:44 +01:00
2014-12-14 12:25:42 +02:00
2015-03-04 11:48:19 -08:00
2014-07-02 17:04:14 +02:00
2014-08-08 14:54:02 +02:00
2015-02-17 11:33:08 -05:00
2014-08-08 10:05:32 +02:00
2015-01-19 14:10:12 -05:00
2015-02-03 15:42:56 +01:00
2014-07-02 16:31:22 +02:00
2011-07-06 15:22:00 +02:00
2015-01-02 11:16:08 -05:00
2015-01-02 11:16:08 -05:00