- 11 Mar, 2014 8 commits
-
-
antirez authored
See issue #1593. Thanks to @badboy for suggesting the direct client.call fix.
-
antirez authored
Example: ./redis-trib.rb call 192.168.1.11:7000 config get cluster-node-timeout
-
antirez authored
Example: if the user will try to configure a cluster with 9 nodes, asking for 1 slave for master, redis-trib will configure a 4 masters cluster with 1 slave each as usually, but this time will assign the spare node as a slave of one of the masters.
-
antirez authored
The UPDATE message contains the configEpoch of the node configuration advertised in the packet. Update it if needed.
-
antirez authored
By manually modifying nodes configurations in random ways, it is possible to create the following scenario: A is serving keys for slot 10 B is manually configured to serve keys for slot 10 A receives an update from B (or another node) where it is informed that the slot 10 is now claimed by B with a greater configuration epoch, however A still has keys from slot 10. With this commit A will put the slot in error setting it in IMPORTING state, so that redis-trib can detect the issue.
-
antirez authored
-
antirez authored
-
antirez authored
-
- 10 Mar, 2014 21 commits
-
-
antirez authored
The new "error" subcommand of the DEBUG command can reply with an user selected error, specified as its sole argument: DEBUG ERROR "LOADING please wait..." The error is generated just prefixing the command argument with a "-" character, and replacing newlines with spaces (since error replies can't include newlines). The goal of the command is to help in Client libraries unit tests by making simple to simulate a command call triggering a given error.
-
antirez authored
getKeysFromCommand() is designed to be called with the command arguments passing the basic arity checks described in the command table. DEBUG CMDKEYS must provide the same guarantees for calling getKeysFromCommand() to be safe.
-
antirez authored
It does not make sense to pass multiple store options, so, better to handle it ;-)
-
antirez authored
Examples: redis 127.0.0.1:6379> debug cmdkeys set foo bar 1) "foo" redis 127.0.0.1:6379> debug cmdkeys mget a b c 1) "a" 2) "b" 3) "c" redis 127.0.0.1:6379> debug cmdkeys zunionstore foo 2 a b 1) "a" 2) "b" 3) "foo" redis 127.0.0.1:6379> debug cmdkeys ping (empty list or set)
-
antirez authored
There is the exception of a "constant" BY pattern that is used in order to signal to don't sort at all. In this case no lookup is needed so it is possible to support this case in Cluster mode.
-
antirez authored
-
antirez authored
-
antirez authored
The commit also refactors a bit the error handling during SORT option parsing.
-
antirez authored
-
antirez authored
-
antirez authored
Previously we used zunionInterGetKeys(), however after this function was fixed to account for the destination key (not needed when the API was designed for "diskstore") the two set of commands can no longer be served by an unique keys-extraction function.
-
antirez authored
-
antirez authored
This API originated from the "diskstore" experiment, not for Redis Cluster itself, so there were legacy/useless things trying to differentiate between keys that are going to be overwritten and keys that need to be fetched from disk (preloaded). All useless with Cluster, so removed with the result of code simplification.
-
antirez authored
Everything was pretty clear again from the initial statements.
-
Salvatore Sanfilippo authored
Fix key extraction for z{union,inter}store
-
antirez authored
It also fixes multi-line comment style to be consistent with the rest of the code base. Related to #1555.
-
Salvatore Sanfilippo authored
Cluster port error out
-
antirez authored
The code was already correct but it was using that bindaddr[0] is set to NULL as a side effect of current implementation if no bind address is configured. This is not guarnteed to hold true in the future.
-
antirez authored
-
Salvatore Sanfilippo authored
Bind source address for cluster communication
-
antirez authored
When node-timeout is too small, in the order of a few milliseconds, there is no way the voting process can terminate during that time, so we set a lower limit for the failover timeout of two seconds. The retry time is set to two times the failover timeout time, so it is at least 4 seconds.
-
- 07 Mar, 2014 4 commits
-
-
Matt Stancliff authored
The previous implementation wasn't taking into account the storage key in position 1 being a requirement (it was only counting the source keys in positions 3 to N). Fixes antirez/redis#1581
-
antirez authored
-
antirez authored
-
antirez authored
-
- 06 Mar, 2014 7 commits
-
-
Salvatore Sanfilippo authored
Fix REDIS_LRU_CLOCK_MAX's value
-
antirez authored
-
Matt Stancliff authored
This value needs to be set to zero (in addition to stat_numcommands) or else people may see a negative operations per second count after they run CONFIG RESETSTAT. Fixes antirez/redis#1577
-
Matt Stancliff authored
REDIS_CLUSTER_IPLEN had the same value as REDIS_IP_STR_LEN. They were both #define'd to the same INET6_ADDRSTRLEN.
-
Matt Stancliff authored
Function nodeIp2String in cluster.c is exactly anetPeerToString with a pre-extracted fd.
-
Matt Stancliff authored
anetTcpAccept returns ANET_ERR, not AE_ERR. This isn't a physical error since both ANET_ERR and AE_ERR are -1, but better to be consistent.
-
Salvatore Sanfilippo authored
Small typo fixed
-