- 19 Dec, 2014 1 commit
-
-
antirez authored
Fixes issue #2225.
-
- 18 Dec, 2014 1 commit
-
-
Alon Diamant authored
Fix: case when SPOP with count>MAXINT, setTypeRandomElements() will get negative count argument due to signed/unsigned mismatch. setTypeRandomElements() now returns unsigned long, and also uses unsigned long for anything related to count of members. spopWithCountCommand() now uses unsigned long elements_returned instead of int, for values returned from setTypeRandomElements()
-
- 17 Dec, 2014 4 commits
-
-
antirez authored
-
antirez authored
See issue #2218.
-
Matt Stancliff authored
If we woke up to accept a connection, but we can't accept it, inform the user of the error going on with their networking. (The previous message was the same for success or error!)
-
Rhommel Lamas authored
-
- 16 Dec, 2014 1 commit
-
-
antirez authored
-
- 15 Dec, 2014 1 commit
-
-
antirez authored
-
- 14 Dec, 2014 1 commit
-
-
Alon Diamant authored
spopCommand() now runs spopWithCountCommand() in case the <count> param is found. Added intsetRandomMembers() to Intset: Copies N random members from the set into inputted 'values' array. Uses either the Knuth or Floyd sample algos depending on ratio count/size. Added setTypeRandomElements() to SET type: Returns a number of random elements from a non empty set. This is a version of setTypeRandomElement() that is modified in order to return multiple entries, using dictGetRandomKeys() and intsetRandomMembers(). Added tests for SPOP with <count>: unit/type/set, unit/scripting, integration/aof -- Cleaned up code a bit to match with required Redis coding style
-
- 13 Dec, 2014 2 commits
-
-
antirez authored
Otherwise there are security risks, especially when providing Redis as a service, the user may "sniff" for admin commands renamed to an unguessable string via rename-command in redis.conf.
-
antirez authored
The old list did not made much sense... and the flag is currently not used at all, so no side effects.
-
- 12 Dec, 2014 2 commits
-
-
Rhommel Lamas authored
-
clark.kang authored
-
- 11 Dec, 2014 9 commits
-
-
antirez authored
Specialized single-use function. Not the best match for sds.c btw. Also genClientPeerId() is no longer static: we need symbols.
-
antirez authored
A few code style changes + consistent format: not nice for humans but better for parsers.
-
Matt Stancliff authored
There is no standard cross-platform way of obtaining system memory info, but I found a useful function convering all common platforms. I removed support for uncommon Redis platforms (windows, AIX) and left others intact. For more info, see: http://nadeausoftware.com/articles/2012/09/c_c_tip_how_get_physical_memory_size_system The system memory info is cached on startup, but some systems may be able to change the amount of memory visible to Redis at runtime if Redis is deployed in a VM or container. Also see #1820
-
Matt Stancliff authored
Also refactors getting human string values from the defined value in `server.maxmemory_policy` into a common function.
-
Matt Stancliff authored
Instead of manually checking for strchr(n,':') everywhere, we can use our new centralized IP formatting functions.
-
Matt Stancliff authored
This stops us from needing to manually check against ":" to add brackets around IPv6 addresses everywhere.
-
antirez authored
Related to #2094.
-
antirez authored
-
antirez authored
-
- 10 Dec, 2014 9 commits
-
-
Pierre-Yves Ritschard authored
-
antirez authored
Slaves key expire is orchestrated by the master. Sometimes the master will send the synthesized DEL to expire keys on the slave with a non trivial delay (when the key is not accessed, only the incremental expiry algorithm will expire it in background). During that time, a key is logically expired, but slaves still return the key if you GET (or whatever) it. This is a bad behavior. However we can't simply trust the slave view of the key, since we need the master to be able to send write commands to update the slave data set, and DELs should only happen when the key is expired in the master in order to ensure consistency. However 99.99% of the issues with this behavior is when a client which is not a master sends a read only command. In this case we are safe and can consider the key as non existing. This commit does a few changes in order to make this sane: 1. lookupKeyRead() is modified in order to return NULL if the above conditions are met. 2. Calls to lookupKeyRead() in commands actually writing to the data set are repliaced with calls to lookupKeyWrite(). There are redundand checks, so for example, if in "2" something was overlooked, we should be still safe, since anyway, when the master writes the behavior is to don't care about what expireIfneeded() returns. This commit is related to #1768, #1770, #2131.
-
antirez authored
Changed in order to make them more review friendly, based on the experience of reviewing the code myself.
-
antirez authored
I guess the initial goal of the initialization was to suppress GCC warning, but if we have to initialize, we can do it with the base-case value instead of NULL which is never retained.
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
-
Brochen authored
in the case (all chars of the string s found in 'cset' ), line[573] will no more do the same thing line[572] did. this will be more faster especially in the case that the string s is very long and all chars of string s found in 'cset'
-
- 09 Dec, 2014 1 commit
-
-
antirez authored
-
- 08 Dec, 2014 3 commits
-
-
Jan-Erik Rediger authored
This allows shell pipes to correctly end redis-cli. Ref #2066
-
Sun He authored
-
Sun He authored
-
- 05 Dec, 2014 1 commit
-
-
- 04 Dec, 2014 1 commit
-
-
antirez authored
-
- 03 Dec, 2014 3 commits