3054 Commits

Author SHA1 Message Date
antirez
a4b9ffec27 Cluster: use CountKeysInSlot() when we just need the count. 2013-02-25 11:23:04 +01:00
antirez
0b86a5e2d1 Cluster: added stub for verifyClusterConfigWithData().
See the top-comment for the function in this commit for details about
what the function is supposed to do.
2013-02-25 11:20:17 +01:00
antirez
9766072239 Cluster: added new API countKeysInSlot().
This is similar to getKeysInSlot() but just returns the number of keys
found in a given hash slot, without returning the keys.
2013-02-25 11:15:03 +01:00
antirez
023a57a9d5 Cluster: if no previous config exists, create the myself node as master. 2013-02-22 19:24:01 +01:00
antirez
0c179977d8 Cluster: add cluster_size field in CLUSTER INFO output. 2013-02-22 19:20:38 +01:00
antirez
66cadd3ec9 Cluster: new state information, cluster size.
The definition of cluster size is: the number of known nodes in the
cluster that are masters and serving at least an hash slot.
2013-02-22 19:18:30 +01:00
antirez
6877d08470 Cluster: remove warning adding clusterNodeSetSlotBit() prototype. 2013-02-22 17:45:49 +01:00
antirez
f66a189d4d Cluster: introduced a failure reports system.
A §Redis Cluster node used to mark a node as failing when itself
detected a failure for that node, and a single acknowledge was received
about the possible failure state.

The new API will be used in order to possible to require that N other
nodes have a PFAIL or FAIL state for a given node for a node to set it
as failing.
2013-02-22 17:43:35 +01:00
antirez
3a4bb6cee4 redis-trib: check that all the nodes agree about the slots configuration. 2013-02-22 12:25:16 +01:00
antirez
361e58008b redis-trib: skeleton of coverage fix for "keys in multiple nodes" case. 2013-02-22 11:33:10 +01:00
antirez
d2d9422eba redis-trib: handle slot coverage fix in the "no nodes with keys" case. 2013-02-22 10:23:53 +01:00
antirez
ff71171a8e Cluster: fix case of slotToKey...() functions. 2013-02-22 10:16:21 +01:00
antirez
782e3ee485 Cluster: empty the internal sorted set mapping keys to slots on FLUSHDB/ALL. 2013-02-22 10:15:32 +01:00
antirez
f65afe7592 redis-trib: specify single node address when fixing coverage. 2013-02-22 10:05:07 +01:00
antirez
26ed0c0e48 redis-trib: ability to fix uncovered slots for the trivial case. 2013-02-21 18:10:06 +01:00
antirez
e1c77fb0c6 redis-trib: fixed typo in method name. 2013-02-21 16:58:27 +01:00
antirez
491bdb8d61 Cluster: more correct update of slots state when PONG is received. 2013-02-21 16:52:06 +01:00
antirez
e9c34fedfd Call clusterUpdateState() after CLUSTER SETSLOT too. 2013-02-21 16:31:22 +01:00
antirez
4edf3759db Aesthetic change to make a line more 80-cols friendly. 2013-02-21 16:24:48 +01:00
antirez
4d33e72fdb redis-trib: move instance vars in the right class. 2013-02-21 13:06:59 +01:00
antirez
1544701d1d redis-trib: some refactoring and skeleton of the "fix" command. 2013-02-21 13:00:41 +01:00
antirez
1455ba6e36 Cluster: clusterAddSlot() was not doing what stated in the comment. 2013-02-21 11:51:17 +01:00
antirez
0b0a8884fc Cluster: always use cluster(Add|Del)Slot to modify the cluster slots table. 2013-02-21 11:44:58 +01:00
antirez
1e2a5d119c Use RESTORE-ASKING for MIGRATE when in cluster mode. 2013-02-20 17:36:54 +01:00
antirez
a9624604ed Cluster: new command flag forcing implicit ASKING.
Also using this new flag the RESTORE-ASKING command was implemented that
will be used by MIGRATE.
2013-02-20 17:28:35 +01:00
antirez
1de23b0795 Cluster: ASKING command fixed, state was not retained. 2013-02-20 17:07:52 +01:00
antirez
71d6ea6755 redis-trib: set the migrating slot in the correct way when resharding. 2013-02-20 15:29:53 +01:00
antirez
f6a8ba8de5 Cluster: I/O errors are now logged at DEBUG level. 2013-02-20 13:18:51 +01:00
antirez
fe4e3581f2 redis-trib: make a few comments 80-cols friendly. 2013-02-15 17:11:55 +01:00
antirez
cf24a53850 Cluster: specific error code for cluster down condition. 2013-02-15 16:53:24 +01:00
antirez
0e7225be93 Merge branch 'unstable' of github.com:antirez/redis into unstable 2013-02-15 16:45:04 +01:00
antirez
79f3570266 Cluster: sanity checks on the cluster bus message length. 2013-02-15 16:44:39 +01:00
antirez
6c4f5dd263 Removed useless newlines from hashTypeCurrentObject(). 2013-02-15 13:12:55 +01:00
antirez
47838ff689 Cluster: make valgrind happy initializing all the bytes of the node IP. 2013-02-15 12:58:35 +01:00
antirez
8e84bccec9 Remove wrong decrRefCount() from getNodeByQuery().
This fixes issue #607.
2013-02-15 11:57:53 +01:00
antirez
ed0e930804 Top comment for getNodeByQuery() improved. 2013-02-15 11:50:54 +01:00
antirez
751b523fb8 redis-cli: update prompt on cluster redirection. 2013-02-14 18:49:08 +01:00
antirez
882e5ae8de Cluster: with 16384 slots we need bigger buffers. 2013-02-14 15:36:33 +01:00
antirez
6c809ab43a Cluster: move cluster config file out of config state.
This makes us able to avoid allocating the cluster state structure if
cluster is not enabled, but still we can handle the configuration
directive that sets the cluster config filename.
2013-02-14 15:20:02 +01:00
antirez
2531fea2a5 Cluster: the cluster state structure is now heap allocated. 2013-02-14 13:20:56 +01:00
antirez
fe93071f33 Cluster: Initialize ip and port in createClusterNode(). 2013-02-14 13:01:28 +01:00
antirez
4a00f830b9 Cluster: redis-trib updated to use 16384 hash slots. 2013-02-14 12:55:34 +01:00
antirez
e60743e0fc Cluster: from 4096 to 16384 hash slots. 2013-02-14 12:49:16 +01:00
antirez
c72be04d12 PSYNC: another change to unexpected reply from PSYNC. 2013-02-13 18:43:40 +01:00
antirez
67ef554e2e PSYNC: More robust handling of unexpected reply to PSYNC. 2013-02-13 18:33:33 +01:00
antirez
0795a4db2a Avoid compiler warning by casting to match printf() specifier. 2013-02-13 13:38:20 +01:00
antirez
f8e3cd19ad Replication: more strict error checking for master PING reply. 2013-02-12 16:53:27 +01:00
antirez
cb6ff7f5d1 Return a specific NOAUTH error if authentication is required. 2013-02-12 16:25:41 +01:00
antirez
12a3bf6245 Replication: added new stats counting full and partial resynchronizations. 2013-02-12 15:33:54 +01:00
antirez
3f59d66ff0 Test: avoid false positives in CLIENT SETNAME closed connection test. 2013-02-12 13:27:24 +01:00