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
950d8b40e5
Add missing bracket removed for error after rebase of PSYNC.
2013-02-12 12:56:32 +01:00
antirez
d5bed58b08
PSYNC: debugging printf() calls are now logs at DEBUG level.
2013-02-12 12:52:22 +01:00
antirez
33a7ca234d
Remove harmless warning in slaveTryPartialResynchronization().
2013-02-12 12:52:21 +01:00
antirez
10756f5c4a
PSYNC: don't use the client buffer to send +CONTINUE and +FULLRESYNC.
...
When we are preparing an handshake with the slave we can't touch the
connection buffer as it'll be used to accumulate differences between
the sent RDB file and what arrives next from clients.
So in short we can't use addReply() family functions.
However we just use write(2) because we know that the socket buffer is
empty, since a prerequisite for SYNC to work is that the static buffer
and the output list are empty, and in general it is not expected that a
client SYNCs after doing some heavy I/O with the master.
However a short write connection is explicitly handled to avoid
fragility (we simply close the connection and the slave will retry).
2013-02-12 12:52:21 +01:00
antirez
b5ddb829b5
SYNC not allowed with pending data on the static output buffer.
2013-02-12 12:52:21 +01:00
antirez
65c0a0eb2b
Log the unexpected string received in place of the SYNC payload length.
2013-02-12 12:52:21 +01:00
antirez
16b114d7db
After SLAVEOF <newslave> don't allow chained slaves to PSYNC.
2013-02-12 12:52:21 +01:00