antirez
f7dac639a9
Remove warning when printing redisBuildId().
2013-02-27 12:33:27 +01:00
antirez
e4682c82e3
Remove too agressive/spamming log in rdb.c.
2013-02-27 12:29:20 +01:00
antirez
f9b5ca29fd
Use GCC printf format attribute for redisLog().
...
This commit also fixes redisLog() statements producing warnings.
2013-02-27 12:27:15 +01:00
antirez
c35b065a64
Better panic message for failed time event creation.
2013-02-27 12:00:11 +01:00
Stam He
e431a97660
add a check for aeCreateTimeEvent
...
1) Add a check for aeCreateTimeEvent in function initServer.
2013-02-27 11:57:35 +01:00
Stam He
9c8be6cab9
Set proctitle: avoid the use of __attribute__((constructor)).
...
This cased a segfault in some Linux system and was GCC-specific.
Commit modified by @antirez:
1) Stripped away the part to set the proc title via config for now.
2) Handle initialization of setproctitle only when the replacement
is used.
3) Don't require GCC now that the attribute constructor is no
longer used.
2013-02-27 11:50:35 +01:00
antirez
deb1f4d841
setproctitle.c: declar tmp as static so valgrind will not detect a leak.
2013-02-26 15:51:33 +01:00
antirez
d0992d6e8b
Cluster: a few random fixes to the new failure detection.
2013-02-26 15:15:44 +01:00
antirez
f288b07563
Cluster: log the event when we clear the FAIL flag.
2013-02-26 15:03:38 +01:00
antirez
97ffcd351b
Cluster: use the failure report API to reimplement failure detection.
...
The new system detects a failure only when there is quorum from masters.
2013-02-26 14:58:39 +01:00
antirez
6356cf6808
Set process name in ps output to make operations safer.
...
This commit allows Redis to set a process name that includes the binding
address and the port number in order to make operations simpler.
Redis children processes doing AOF rewrites or RDB saving change the
name into redis-aof-rewrite and redis-rdb-bgsave respectively.
This in general makes harder to kill the wrong process because of an
error and makes simpler to identify saving children.
This feature was suggested by Arnaud GRANAL in the Redis Google Group,
Arnaud also pointed me to the setproctitle.c implementation includeed in
this commit.
This feature should work on all the Linux, OSX, and all the three major
BSD systems.
2013-02-26 11:52:12 +01:00
antirez
1b1b3f6c06
Cluster: invert two functions declarations in more natural order.
2013-02-26 11:19:48 +01:00
antirez
d5e8b0a47f
Cluster: cleanup idle failure reports every time we remove one.
...
This is not very important as anyway when the function counting the
number of reports is called the cleanup is performed. However with this
change if only part of the nodes that reported the failure will report
the node is back ok, we'll cleanup the older entries ASAP. In complex
split net split scenarios, and when we are dealing with clusters having
nodes in the order of ~ 1000, this can save some CPU.
2013-02-26 11:15:18 +01:00
antirez
9cb578ced0
Cluster: new function clusterNodeDelFailureReport() for failure reports.
...
This is the missing part of the API that will be used to reimplement
failure detection of Cluster nodes.
2013-02-25 19:13:22 +01:00
Salvatore Sanfilippo
b26bb768bc
Merge pull request #969 from serphen/unstable
...
Fix error "repl-backlog-size must be 1 or greater"
2013-02-25 09:38:15 -08:00
Arnaud Granal
3d588b37ce
Fix error "repl-backlog-size must be 1 or greater"
...
The parameter repl-backlog-size is not parsed correctly in the configuration file. argv[0] is parsed instead of argv[1].
2013-02-25 19:25:48 +02:00
antirez
18f537083a
Cluster: no limits for the count parameter of CLUSTER GETKEYSINSLOT.
...
Not sure why I set a limit to 1 million keys, there is no reason for
this artificial limit, and anyway this is s a stupid limit because it is
already high enough to create latency issues. So let's the users shoot
on their feet because maybe they just actually know what they are doing.
2013-02-25 12:41:13 +01:00
antirez
544bbe5387
Cluster: validate slot number in CLUSTER COUNTKEYSINSLOT.
2013-02-25 12:40:32 +01:00
antirez
996a643752
Cluster: use O(log(N)) algo for countKeysInSlot().
2013-02-25 12:37:50 +01:00
antirez
d4fa40655d
Cluster: new sub-command CLUSTER COUNTKEYSINSLOT.
...
The new sub-command uses the new countKeysInSlot() API and allows a
cluster client to get the number of keys for a given hashslot.
2013-02-25 12:04:31 +01:00
antirez
a517c89321
Cluster: verifyClusterConfigWithData() implemented.
2013-02-25 11:43:49 +01:00
antirez
9947b0d96d
A comment in main() clarified.
2013-02-25 11:40:21 +01:00
antirez
d2154254be
Cluster: fix case for getKeysInSlot() and countKeysInSlot().
...
Redis functions start in low case. A few functions about cluster were
capitalized the wrong way.
2013-02-25 11:25:40 +01:00
antirez
c2eb4a606f
Cluster: use CountKeysInSlot() when we just need the count.
2013-02-25 11:23:04 +01:00
antirez
ad3bca1fdf
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
1abce14611
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
0x20h
977035b7b5
suppress external diff program when using git diff.
2013-02-24 18:17:46 +01:00
antirez
825e07f2fd
Cluster: if no previous config exists, create the myself node as master.
2013-02-22 19:24:01 +01:00
antirez
f4093753e4
Cluster: add cluster_size field in CLUSTER INFO output.
2013-02-22 19:20:38 +01:00
antirez
d218a4e244
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
5c55ed9388
Cluster: remove warning adding clusterNodeSetSlotBit() prototype.
2013-02-22 17:45:49 +01:00
antirez
974929770b
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
36af851550
redis-trib: check that all the nodes agree about the slots configuration.
2013-02-22 12:25:16 +01:00
antirez
51b5058d04
redis-trib: skeleton of coverage fix for "keys in multiple nodes" case.
2013-02-22 11:33:10 +01:00
antirez
a81c598f95
redis-trib: handle slot coverage fix in the "no nodes with keys" case.
2013-02-22 10:23:53 +01:00
antirez
392e0fa7eb
Cluster: fix case of slotToKey...() functions.
2013-02-22 10:16:21 +01:00
antirez
d04770988d
Cluster: empty the internal sorted set mapping keys to slots on FLUSHDB/ALL.
2013-02-22 10:15:32 +01:00
antirez
efe51dfff5
redis-trib: specify single node address when fixing coverage.
2013-02-22 10:05:07 +01:00
antirez
915e81335e
redis-trib: ability to fix uncovered slots for the trivial case.
2013-02-21 18:10:06 +01:00
antirez
619d3945f8
redis-trib: fixed typo in method name.
2013-02-21 16:58:27 +01:00
antirez
07b6322735
Cluster: more correct update of slots state when PONG is received.
2013-02-21 16:52:06 +01:00
antirez
c6da9d9fac
Call clusterUpdateState() after CLUSTER SETSLOT too.
2013-02-21 16:31:22 +01:00
antirez
3a99d1228a
Aesthetic change to make a line more 80-cols friendly.
2013-02-21 16:24:48 +01:00
antirez
5fd9f701da
redis-trib: move instance vars in the right class.
2013-02-21 13:06:59 +01:00
antirez
7898bf4b7e
redis-trib: some refactoring and skeleton of the "fix" command.
2013-02-21 13:00:41 +01:00
antirez
dc4af60628
Cluster: clusterAddSlot() was not doing what stated in the comment.
2013-02-21 11:51:17 +01:00
antirez
fdb57233e2
Cluster: always use cluster(Add|Del)Slot to modify the cluster slots table.
2013-02-21 11:44:58 +01:00
antirez
786b8d6c87
Use RESTORE-ASKING for MIGRATE when in cluster mode.
2013-02-20 17:36:54 +01:00
antirez
ea7fc82a4a
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
9ec1b709f5
Cluster: ASKING command fixed, state was not retained.
2013-02-20 17:07:52 +01:00