antirez
25c0f5ac63
Cluster: better cluster state transiction handling.
...
Before we relied on the global cluster state to make sure all the hash
slots are linked to some node, when getNodeByQuery() is called. So
finding the hash slot unbound was checked with an assertion. However
this is fragile. The cluster state is often updated in the
clusterBeforeSleep() function, and not ASAP on state change, so it may
happen to process clients with a cluster state that is 'ok' but yet
certain hash slots set to NULL.
With this commit the condition is also checked in getNodeByQuery() and
reported with a identical error code of -CLUSTERDOWN but slightly
different error message so that we have more debugging clue in the
future.
Root cause of issue #2288 .
2015-03-20 09:59:28 +01:00
antirez
0175a164e0
Cluster: move clusterBeforeSleep() call before unblocked clients processing.
...
Related to issue #2288 .
2015-03-20 09:47:54 +01:00
antirez
2ecb5edf34
Cluster: move clusterBeforeSleep() call before unblocked clients processing.
...
Related to issue #2288 .
2015-03-20 09:47:54 +01:00
antirez
ad7956ce89
Cluster: more robust slave check in CLUSTER REPLICATE.
...
There are rare conditions where node->slaveof may be NULL even if the
node is a slave. To check by flag is much more robust.
2015-03-18 12:10:14 +01:00
antirez
438a1a84e8
Cluster: more robust slave check in CLUSTER REPLICATE.
...
There are rare conditions where node->slaveof may be NULL even if the
node is a slave. To check by flag is much more robust.
2015-03-18 12:10:14 +01:00
Salvatore Sanfilippo
4aa4365112
Merge pull request #2386 from inkel/sentinel-add-client-command
...
Support CLIENT commands in Redis Sentinel
2015-03-13 18:23:36 +01:00
Salvatore Sanfilippo
61fb441c8c
Merge pull request #2386 from inkel/sentinel-add-client-command
...
Support CLIENT commands in Redis Sentinel
2015-03-13 18:23:36 +01:00
antirez
7e0ea8b30d
Test: fix SPOP replication test count.
...
If count is 0 SADD is called without element arguments, which is
currently invalid.
2015-03-13 17:30:13 +01:00
antirez
e791e2dda1
Test: fix SPOP replication test count.
...
If count is 0 SADD is called without element arguments, which is
currently invalid.
2015-03-13 17:30:13 +01:00
antirez
a0f82e4ee6
Cluster: fix CLUSTER NODES optimization error in 'j' increment.
2015-03-13 13:16:35 +01:00
antirez
93b1320fac
Cluster: fix CLUSTER NODES optimization error in 'j' increment.
2015-03-13 13:16:35 +01:00
antirez
96e2bcbe90
Cluster: ignore various node files in create-cluster dir.
2015-03-13 13:16:01 +01:00
antirez
4ed7582c7b
Cluster: ignore various node files in create-cluster dir.
2015-03-13 13:16:01 +01:00
antirez
7ba9877884
Cluster: CLUSTER NODES speedup.
2015-03-13 11:26:04 +01:00
antirez
e1b6c9dd18
Cluster: CLUSTER NODES speedup.
2015-03-13 11:26:04 +01:00
antirez
aeba514612
Config: improve loglevel message error.
2015-03-12 14:43:07 +01:00
antirez
b2e8eca70d
Config: improve loglevel message error.
2015-03-12 14:43:07 +01:00
antirez
6f54cf9b6f
CONFIG GET syslog-facility added.
...
Was missing for some reason. Trivial to add after config.c refactoring.
2015-03-12 09:59:10 +01:00
antirez
792c531688
CONFIG GET syslog-facility added.
...
Was missing for some reason. Trivial to add after config.c refactoring.
2015-03-12 09:59:10 +01:00
antirez
9f591427f7
CONFIG SET refactoring: use enums in more places.
2015-03-11 23:21:04 +01:00
antirez
50b41b6ad3
CONFIG SET refactoring: use enums in more places.
2015-03-11 23:21:04 +01:00
antirez
b9dd523d84
Net: better Unix socket error. Issue #2449 .
2015-03-11 17:24:55 +01:00
antirez
535b295f96
Net: better Unix socket error. Issue #2449 .
2015-03-11 17:24:55 +01:00
antirez
4570d75485
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2015-03-11 17:05:14 +01:00
antirez
4cd4910f26
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2015-03-11 17:05:14 +01:00
antirez
804534462f
CONFIG refactoring: configEnum abstraction.
...
Still many things to convert inside config.c in the next commits.
Some const safety in String objects creation and addReply() family
functions.
2015-03-11 17:00:13 +01:00
antirez
8e219224b9
CONFIG refactoring: configEnum abstraction.
...
Still many things to convert inside config.c in the next commits.
Some const safety in String objects creation and addReply() family
functions.
2015-03-11 17:00:13 +01:00
antirez
b764bd74ed
CONFIG SET: memory and special field macros.
2015-03-11 09:02:04 +01:00
antirez
4a2a0d9e9d
CONFIG SET: memory and special field macros.
2015-03-11 09:02:04 +01:00
Salvatore Sanfilippo
f96a1bf09d
Merge pull request #2445 from soveran/add-cluster-myid
...
Add command CLUSTER MYID
2015-03-10 17:46:09 +01:00
Salvatore Sanfilippo
36c1a7cba3
Merge pull request #2445 from soveran/add-cluster-myid
...
Add command CLUSTER MYID
2015-03-10 17:46:09 +01:00
Michel Martens
0480f01fc6
Add command CLUSTER MYID
2015-03-10 16:43:19 +00:00
Michel Martens
6201eb0c55
Add command CLUSTER MYID
2015-03-10 16:43:19 +00:00
antirez
5cbdf469c7
CONFIG SET: additional 2 numerical fields refactored.
2015-03-10 13:00:36 +01:00
antirez
3da7408359
CONFIG SET: additional 2 numerical fields refactored.
2015-03-10 13:00:36 +01:00
antirez
570fcd198b
CONFIG SET refactoring of bool and value fields.
...
Not perfect since The Solution IMHO is to have a DSL with a table of
configuration functions with type, limits, and aux functions to handle
the odd ones. However this hacky macro solution is already better and
forces to put limits in the range of numerical fields.
More field types to be refactored in the next commits hopefully.
2015-03-10 12:37:39 +01:00
antirez
d68f28a367
CONFIG SET refactoring of bool and value fields.
...
Not perfect since The Solution IMHO is to have a DSL with a table of
configuration functions with type, limits, and aux functions to handle
the odd ones. However this hacky macro solution is already better and
forces to put limits in the range of numerical fields.
More field types to be refactored in the next commits hopefully.
2015-03-10 12:37:39 +01:00
antirez
3713dc1c1b
Config: activerehashing option support in CONFIG SET.
2015-03-08 15:33:42 +01:00
antirez
a664040eb7
Config: activerehashing option support in CONFIG SET.
2015-03-08 15:33:42 +01:00
antirez
aa3a3024d0
Fix iterator for issue #2438 .
...
Itereator misuse due to analyzeLatencyForEvent() accessing the
dictionary during the iteration, without the iterator being
reclared as safe.
2015-03-04 11:48:19 -08:00
antirez
509a6cc1e8
Fix iterator for issue #2438 .
...
Itereator misuse due to analyzeLatencyForEvent() accessing the
dictionary during the iteration, without the iterator being
reclared as safe.
2015-03-04 11:48:19 -08:00
antirez
271415034e
Migrate: replace conditional with pre-computed value.
2015-02-27 22:33:54 +01:00
antirez
c77081a45a
Migrate: replace conditional with pre-computed value.
2015-02-27 22:33:54 +01:00
antirez
b8efe8b1c8
String: use new sdigits10() API in stringObjectLen().
...
Should be much faster, and regardless, the code is more obvious now
compared to generating a string just to get the return value of the
ll2stirng() function.
2015-02-27 16:09:17 +01:00
antirez
4f56f035a7
String: use new sdigits10() API in stringObjectLen().
...
Should be much faster, and regardless, the code is more obvious now
compared to generating a string just to get the return value of the
ll2stirng() function.
2015-02-27 16:09:17 +01:00
antirez
21bba043d0
Utils: Include stdint.h and fix signess in sdigits10().
2015-02-27 16:03:02 +01:00
antirez
0e5e8ca9e6
Utils: Include stdint.h and fix signess in sdigits10().
2015-02-27 16:03:02 +01:00
antirez
5f6292f980
Test: HSTRLEN stress test of corner cases.
...
Main point here is to correctly report LLONG_MIN length, since to take
the absolute value we need care in sdigits10().
2015-02-27 15:44:44 +01:00
antirez
084a59c324
Test: HSTRLEN stress test of corner cases.
...
Main point here is to correctly report LLONG_MIN length, since to take
the absolute value we need care in sdigits10().
2015-02-27 15:44:44 +01:00
antirez
c7ce8c0624
Hash: HSTRLEN crash fixed when getting len of int-encoded value
2015-02-27 15:37:04 +01:00