summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* SPOP explicit tests for the three different code paths.antirez2015-02-111-0/+27
|
* SPOP with count: fix replication for code path #3.antirez2015-02-111-2/+10
|
* SPOP: reimplemented for speed and better distribution.antirez2015-02-115-301/+80
| | | | | | | | | | 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.
* alsoPropagate: handle REDIS_CALL_PROPAGATE and AOF loading.antirez2015-02-112-5/+10
|
* Change alsoPropagate() behavior to make it more usable.antirez2015-02-112-9/+24
| | | | | Now the API automatically creates its argv copy and increment ref count of passed objects.
* SPOP with count: initial fixes to the implementation.antirez2015-02-113-42/+54
| | | | | | | | | | | Severan problems are addressed but still a few missing. Since replication of this command was more complex than others since it needs to replicate multiple SREM commands, an old API able to do this was reused (it was taken inside the implementation since it was pretty obvious soon or later that would be useful). The API was improved a bit so that now a command may opt-out for the standard command replication when the server.dirty counter is incremented, in order to "manually" replicate what it wants.
* Separate latency monitoring of eviction loop and eviction DELs.antirez2015-02-113-2/+20
|
* dict.c: reset emptylen when bucket is not empty.antirez2015-02-111-0/+1
| | | | Fixed by @oranagra, thank you.
* dict.c Rehashing visualization code snippet added to utils.antirez2015-02-112-0/+145
|
* redis-cli --stat: show LOAD when loading.antirez2015-02-111-0/+4
|
* Remove optional single-key path from evictionPoolPopulate().antirez2015-02-111-6/+0
|
* dict.c: add dictGetSomeKeys(), specialized for eviction.antirez2015-02-113-2/+95
|
* dict.c: avoid code repetition in dictRehash().antirez2015-02-111-11/+6
| | | | | Avoid code repetition introduced with PR #2367, also fixes the return value to always return 0 if there is nothing more to rehash.
* dict.c/dictRehash: check again to updateSun He2015-02-111-0/+7
|
* dict.c: don't try buckets that are empty for sure in dictGetRandomKey().antirez2015-02-111-1/+5
| | | | | | | This is very similar to the optimization applied to dictGetRandomKeys, but applied to the single key variant. Related to issue #2306.
* dict.c: dictGetRandomKeys() optimization for big->small table case.antirez2015-02-111-1/+8
| | | | Related to issue #2306.
* dict.c: dictGetRandomKeys() visit pattern optimization.antirez2015-02-111-0/+4
| | | | | | | We use the invariant that the original table ht[0] is never populated up to the index before the current rehashing index. Related to issue #2306.
* dict.c: put a bound to max work dictRehash() call can do.antirez2015-02-111-2/+11
| | | | Related to issue #2306.
* dict.c: prevent useless resize to same size.antirez2015-02-111-0/+3
| | | | Related to issue #2306.
* Less blocking dictGetRandomKeys().antirez2015-02-111-23/+31
| | | | Related to issue #2306.
* Faster memory efficiency test.antirez2015-02-101-1/+6
| | | | | | This test on Linux was extremely slow, since in Tcl we can't enable easily tcp-nodelay, so the busy loop used to take *a lot* with bigger writes. Fixed using pipelining.
* Added regression test for issue #2371.antirez2015-02-102-0/+25
|
* HAVE_SYNC_FILE_RANGE should be protected by ifdef __linux__.antirez2015-02-101-0/+2
| | | | Related to issue #2372.
* Merge pull request #2372 from mariano-perez-rodriguez/patch-2Salvatore Sanfilippo2015-02-101-4/+5
|\ | | | | Fix HAVE_BACKTRACE on Linux
| * Fix for #2371Mariano Pérez Rodríguez2015-02-071-4/+5
| | | | | | Fixing #2371 as per @mattsta's suggestion
* | redis-cli --lru-test implemented (cache workload simulator).antirez2015-02-091-0/+102
| |
* | redis-cli: interactive reconnection for latency modes.antirez2015-02-081-9/+13
| | | | | | | | | | | | | | | | | | | | | | | | --stat mode already used to reconnect automatically if the server is no longer available. This is useful since this is an interactive mode used for debugging, however the same applies to --latency and --latency-dist modes, so now both use the reconnecting command execution as well. The reconnection code was modified to use basic VT100 escape sequences in order to play better with different kinds of output on the screen when the reconnection happens, and to hide the reconnection attempt output when finally the reconnection happens.
* | redis-cli --latecy-dist reverted to gray scale.antirez2015-02-081-8/+10
| | | | | | | | | | | | So far not able to find a color palette within the 256 colors which is not confusing. However I believe it is a possible task, so will try better later.
* | redis-cli --latency-dist now uses a color palette.antirez2015-02-071-8/+14
| | | | | | | | | | Still not happy with the result but low grays are hard to see in certain monitors with a non perfect gamma.
* | redis-cli latency dist: add new top HL.antirez2015-02-071-0/+1
|/
* Add missing latency-dest legend symbol.antirez2015-02-071-1/+1
|
* Initial implementation of redis-cli --latency-dist.antirez2015-02-071-0/+153
|
* Fix RDB corruption test after server behavior change.antirez2015-02-041-1/+1
|
* Merge branch 'unstable' of github.com:/antirez/redis into unstableantirez2015-02-041-1/+1
|\
| * Suppress sign warning in sort.c.antirez2015-02-031-1/+1
| | | | | | | | Related to #2346.
* | Replication: put server.master client creation into separated function.antirez2015-02-041-11/+18
|/
* Hopefully better sort.c optimization comments.antirez2015-02-031-15/+9
| | | | Related to #2346.
* Merge pull request #2346 from sunheehnus/sortSalvatore Sanfilippo2015-02-031-3/+30
|\ | | | | Little optimization & bug fix in sort.c
| * sort.c: REDIS_LIST's dontsort optimizationSun He2015-02-021-3/+30
| | | | | | | | also fix the situation "dontsort DESC" of a list
* | More obvious indentation in setCommand().antirez2015-02-031-4/+8
| |
* | Merge branch 'unstable' of git://github.com/mihirvj/redis into set-prantirez2015-02-031-4/+12
|\ \
| * | Stricter options for SET commandMihir Joshi2014-12-141-8/+12
| | | | | | | | | | | | | | | - As per Antirez's suggestion, this commit raises an error when mutually exclusive options are provided. Duplicate options are allowed.
| * | stricter options for SET commandMihir Joshi2014-11-211-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue: #2157 As the SET command is parsed, it remembers which options are already set and if a duplicate option is found, raises an error because it is essentially an invalid syntax. It still allows mutually exclusive options like EX and PX because taking an option over another (precedence) is not essentially a syntactic error.
* | | Check RDB automatically in a few more cases.antirez2015-02-031-3/+3
| | |
* | | Handle redis-check-rdb as a standalone program.antirez2015-02-034-18/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This also makes it backward compatible in the usage, but for the command name. However the old command name was less obvious so it is worth to break it probably. With the new setup the program main can perform argument parsing and everything else useful for an RDB check regardless of the Redis server itself.
* | | Norrow backtrace and setproctitle() to Linux+glibc.antirez2015-02-031-2/+2
| | | | | | | | | | | | | | | Backtrace is a glibc extension, while setproctitle() implementation depends on the memory layout and is partially libc dependent.
* | | Ignore config.sh inside create-cluster script dir.antirez2015-02-031-0/+1
| | |
* | | Merge pull request #2318 from mattcollier/patch-1Salvatore Sanfilippo2015-02-021-1/+1
|\ \ \ | | | | | | | | Fix redis-cli CSV NIL output
| * | | Update redis-cli.cmattcollier2015-01-251-1/+1
| | | | | | | | | | | | Code was adding '\n' (line 521) to the end of NIL values exlusively making csv output inconsistent. Removed '\n'
* | | | redis-check-rdb: initialize entry in case while is never entered.antirez2015-01-301-1/+1
| | | |