75 Commits

Author SHA1 Message Date
antirez
8424400ac6 Fixed a bug in propagation of PUBLISH via the cluster bus.
This bug was spotted by clang on FreeBSD.
2012-04-24 11:28:10 +02:00
antirez
6c6d6d8194 A few compiler warnings suppressed. 2012-04-24 11:11:55 +02:00
antirez
a21be85a30 Minor MIGRATE implementation simplification about ttl handling. 2012-04-10 16:46:29 +02:00
antirez
04bec19ae3 dump/restore fixed to use the new crc64 API. 2012-04-09 12:33:57 +02:00
antirez
63382fd04f Another fix for MIGRATE. 2012-04-03 15:10:42 +02:00
antirez
ea7d99fa9d Two fixed for MIGRATE: fix TTL propagation and fix transferring of data bigger than 64k. 2012-04-03 12:17:40 +02:00
antirez
960daf1cba MIGRATE now let the client distinguish I/O errors and timeouts from other erros. 2012-04-02 16:38:24 +02:00
antirez
4db68c01be DUMP/RESTORE now use CRC64 instead of truncated SHA1. 2012-04-02 13:10:39 +02:00
antirez
1834f2ea02 RESTORE ability to set a TTL fixed, bug introduced with millisecond expires. 2012-04-02 11:14:47 +02:00
antirez
e1d19467c6 Prettify source code of create/verify DUMP payload. 2012-04-02 10:52:39 +02:00
antirez
1212bff9d5 DUMP / RESTORE: store RDB version in little endian. 2012-04-02 10:46:24 +02:00
antirez
289db14b83 New DUMP format includes RDB version and truncated SHA1 checksum. 2012-04-01 12:51:40 +02:00
antirez
d05dba2e54 clusterGetRandomName() generalized into getRandomHexChars() so that we can use it for the run_id field as well. 2012-03-08 10:08:44 +01:00
antirez
39ef0b8808 Fixed another possible bug in cluster.c found by clang --analyze. 2012-01-25 16:59:36 +01:00
antirez
9ba7d2974b Fixed a non critical bug signaled by clang static analyzer thanks to Mukund Sivaraman for reporting it: there was a not initialized field populating the cluster message header, but it is always fixed at later time before sending the packet. 2012-01-25 16:46:35 +01:00
antirez
d6c3b3004e dict.c API names modified to be more coincise and consistent. 2011-11-08 17:07:55 +01:00
antirez
f846ddf3ed Fixed a few warnings compiling on Linux. 2011-10-23 10:57:01 +02:00
antirez
1539e9af39 use signalModifiedKey to set the key as dirty in the context of WATCH for both MIGRATE and RESTORE. 2011-10-20 11:17:30 +02:00
antirez
70a04c93cb First implementation of the ASKING command. Semantics still to verify. 2011-10-17 17:35:23 +02:00
antirez
5559721c9d MIGRATE +NOKEY error was missing the final CRLF causing a protocol error. 2011-10-17 16:44:08 +02:00
antirez
dc9a3ef166 Fixed a typo causing segfault on MIGRATE 2011-10-17 16:39:05 +02:00
antirez
625856b0d8 small comment added 2011-10-13 14:51:29 +02:00
antirez
773749c096 Redis Cluster: process node to node CLUSTERMSG_TYPE_PUBLISH messages and send it to the local clients. 2011-10-07 16:34:16 +02:00
antirez
4e4da410fd propagate PUBLISH messages using the redis cluster nodes bus. Still need to process the incoming packets of that type. Work in progress. 2011-10-07 15:37:34 +02:00
antirez
96c208fe73 A node can populate a slot if a message from a trusted slot is received claiming ownership of this slot, that is currently empty or served by a node in FAIL state. However this feature was broken since calling clusterAddSlot() was not enough as the slot bit is already set in the node that pong us. We need to directly alter the table. This commit fixes the issue. 2011-10-05 17:40:02 +02:00
antirez
cdd2206102 just minor aesthetic changes to cluster.c 2011-10-05 16:02:45 +02:00
antirez
357f49db2f replaced redisAssert() with redisAssertWithInfo() in a shitload of places. 2011-10-04 18:43:03 +02:00
antirez
be453487d8 Rewrite MIGRATE as DEL for AOF/replication. Also increment the dirty counter to both force replication and persistence. 2011-10-03 15:51:10 +02:00
antirez
213df92591 increment server.dirty in restore command to make sure it is replicated and increments the dirty count for persistence concerns. 2011-10-03 15:45:14 +02:00
antirez
223ec0fad1 when processing gossip packets make sure to also update the node bitmap when associating slots to nodes. Fixed simply using the appropriate helper function to add a slot. 2011-10-01 15:11:07 +02:00
antirez
f962242490 Fixed two bugs in the CLUSTER SETSLOT ... NODE subcommand 2011-09-30 22:17:24 +02:00
antirez
ce26413ea5 Clear the importing status from the slot if a CLUSTER SETSLOT command permanently assigns the slot to the importing node. 2011-09-30 19:20:56 +02:00
antirez
1bec2c3634 added comment about SETSLOT NODE form. 2011-09-29 15:26:01 +02:00
antirez
0ff23b8ab3 show node with myself flag always as connected in CLUSTER NODES output. 2011-09-28 18:28:36 +02:00
antirez
3ad12623d4 rioInitWithFile nad rioInitWithBuffer functions now take a rio structure pointer to avoid copying a structure to return value to the caller. 2011-09-22 16:00:40 +02:00
antirez
dbdf74ddfd merge conflicts resolved 2011-09-22 15:15:26 +02:00
antirez
0b00199553 DB API refactoring. The changes were designed together with Pieter Noordhuis. 2011-06-20 16:42:16 +02:00
Pieter Noordhuis
43b1feb2f0 Make RDB types/opcodes explicit; load/save object type 2011-05-13 22:14:39 +02:00
Pieter Noordhuis
ce9195ad16 Abstract file/buffer I/O to support in-memory serialization 2011-05-13 17:31:00 +02:00
antirez
e2ded22f0f clear importing/exporing state when appropriate on SETSLOT or ADDSLOTS cluster commands 2011-05-06 16:08:10 +02:00
antirez
a93aacdada CLUSTER SETSLOT command and some refactoring of the cluster command 2011-05-06 15:44:09 +02:00
antirez
14062270a5 CLUSTER DELSLOTS 2011-05-06 13:38:27 +02:00
antirez
0fd4ab0854 Fixed semantics of CLUSTER SETSLOT, SELECT now only denied in cluster mode if selected DB is not 0 so that MIGRATE still works well. 2011-05-05 18:10:02 +02:00
antirez
6a032c6698 CLUSTER SETSLOT STABLE fixed 2011-05-05 17:56:12 +02:00
antirez
8c339a617a missing return caused protocol desync in CLUSTER SETSLOT 2011-05-05 17:52:19 +02:00
antirez
4ef69c926e Fixed problem in cluster redirection due to a stupid typo 2011-05-05 17:50:14 +02:00
antirez
7583202453 cluster import/export of hash slots implemented in the query redirection engine 2011-05-05 11:13:21 +02:00
antirez
1bc8ae14e2 if /dev/urandom is not available use rand() to get a random node name 2011-05-04 10:30:22 +02:00
antirez
eebf473cc5 CLUSTER SETSLOT implemented 2011-05-04 09:31:37 +02:00
antirez
470803a8f8 render migrating and importing slots in cluster nodes info 2011-05-02 19:04:33 +02:00