- 20 Mar, 2015 2 commits
-
-
antirez authored
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.
-
antirez authored
Related to issue #2288.
-
- 18 Mar, 2015 1 commit
-
-
antirez authored
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.
-
- 13 Mar, 2015 2 commits
- 12 Mar, 2015 2 commits
- 11 Mar, 2015 4 commits
- 10 Mar, 2015 3 commits
-
-
Michel Martens authored
-
antirez authored
-
antirez authored
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.
-
- 08 Mar, 2015 1 commit
-
-
antirez authored
-
- 04 Mar, 2015 1 commit
-
-
antirez authored
Itereator misuse due to analyzeLatencyForEvent() accessing the dictionary during the iteration, without the iterator being reclared as safe.
-
- 27 Feb, 2015 8 commits
-
-
antirez authored
-
antirez authored
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.
-
antirez authored
-
antirez authored
-
antirez authored
1. HVSTRLEN -> HSTRLEN. It's unlikely one needs the length of the key, not clear how the API would work (by value does not make sense) and there will be better names anyway. 2. Default is to return 0 when field is missing. 3. Default is to return 0 when key is missing. 4. The implementation was slower than needed, and produced unnecessary COW. Related issue #2415.
-
antirez authored
-
antirez authored
-
antirez authored
Thanks to @codeslinger (Toby DiPasquale) for identifying the issue. Related to issue #2409.
-
- 26 Feb, 2015 2 commits
-
-
antirez authored
1. Remove useless "cs" initialization. 2. Add a "select" var to capture a condition checked multiple times. 3. Avoid duplication of the same if (!copy) conditional. 4. Don't increment dirty if copy is given (no deletion is performed), otherwise we propagate MIGRATE when not needed.
-
Tommy Wang authored
Avoid redundant SELECT calls when continuously migrating keys to the same dbid within a target Redis instance.
-
- 25 Feb, 2015 1 commit
-
-
antirez authored
This is safe since bufpos is small, inside the range of the local client buffer.
-
- 24 Feb, 2015 1 commit
-
-
Matt Stancliff authored
Revert some size_t back to off_t Set reply_bytes needs to 64 bits everywhere Revert bufpos to int since it's a max of 16k into buf[]
-
- 23 Feb, 2015 1 commit
-
-
antirez authored
Fixes issue #2392.
-
- 21 Feb, 2015 1 commit
-
-
Jason Roth authored
the hvstrlen command returns the length of a hash field value
-
- 17 Feb, 2015 2 commits
-
-
Matt Stancliff authored
Now the tests actually compare return values instead of just verifying _something_ got returned.
-
John Doe authored
Closes #2398
-
- 14 Feb, 2015 1 commit
-
-
antirez authored
-
- 13 Feb, 2015 2 commits
-
-
antirez authored
-
antirez authored
Less grays: more readable palette since usually we have a non linear distribution of percentages and very near gray tones are hard to take apart. Final part of the palette is gradient from yellow to red. The red part is hardly reached because of usual distribution of latencies, but shows up mainly when latencies are very high because of the logarithmic scale, this is coherent to what people expect: red = bad.
-
- 12 Feb, 2015 2 commits
- 11 Feb, 2015 3 commits
-
-
antirez authored
-
antirez authored
The old version of SPOP with "count" argument used an API call of dict.c which was actually designed for a different goal, and was not capable of good distribution. We follow a different three-cases approach optimized for different ratiion between sets and requested number of elements. The implementation is simpler and allowed the removal of a large amount of code.
-
antirez authored
-