antirez
9fc48ed151
DEBUG RESTART/CRASH-AND-RECOVER [delay] implemented.
2015-10-13 11:12:25 +02:00
antirez
5b7bd883e6
Server: restartServer() API.
...
This new function is able to restart the server "in place". The current
Redis process executes the same executable it was executed with, using
the same arguments and configuration file.
2015-10-13 11:02:35 +02:00
antirez
33dedde038
Cluster: redis-trib fix, coverage for migrating=1 case.
...
Kinda related to #2770 .
2015-10-09 16:15:58 +02:00
antirez
6a3e201234
Test: basic lazyfree unit test.
2015-10-09 09:47:17 +02:00
antirez
c3dbfc8825
Test: fix attach_to_replication_stream to handle newlines.
2015-10-07 22:32:24 +02:00
antirez
246b02eebe
Fix extractLongLatOrReply() sanity check conditionals.
...
the check for lat/long valid ranges were performed inside the for loop,
two times instead of one, and the first time when the second element of
the array, xy[1], was yet not populated. This resulted into issue #2799 .
Close issue #2799 .
2015-10-07 22:27:18 +02:00
antirez
61cceef3a3
Jemalloc configure script fixed to work nested.
...
Now way to make unmodified Jemalloc configure to work when the jemalloc
source tree is inside a subdirectory of a different git repository.
Problem signaled here:
http://www.canonware.com/pipermail/jemalloc-discuss/2015-October/001174.html
2015-10-07 09:17:06 +02:00
antirez
e7e83e86f2
Jemalloc updated to 4.0.3.
2015-10-06 16:55:37 +02:00
antirez
fe49700cf5
Added a README into deps on dependencies and how to upgrade.
2015-10-06 10:56:16 +02:00
antirez
dc5b467b17
Regression test for GEORADIUS COUNT arity check.
2015-10-06 09:27:29 +02:00
antirez
ea9586b9e0
Fix GEORADIUS COUNT option arity checks.
2015-10-06 09:25:28 +02:00
antirez
97df261503
Lazyfree options documented in the example redis.conf.
2015-10-05 12:24:16 +02:00
antirez
6432b8a4d1
Lazyfree options implemented in the configuration.
2015-10-05 12:11:27 +02:00
antirez
27ec5105eb
Lazyfree: cond vars to enabled/disable it based on DEL context.
2015-10-02 15:27:57 +02:00
antirez
714b06d5fa
Fixed a bug in the emptyDb() new implementation.
2015-10-01 13:02:26 +02:00
antirez
93da3c7874
FLUSHDB and FLUSHALL ASYNC option implemented.
2015-10-01 13:02:26 +02:00
antirez
da103b45ed
Lazyfree: pending objects count in INFO output.
2015-10-01 13:02:26 +02:00
antirez
cf03e071ea
Lazyfree: ability to free whole DBs in background.
2015-10-01 13:02:26 +02:00
antirez
062f789407
Lazyfree: keep count of objects to free.
2015-10-01 13:02:25 +02:00
antirez
8668aa6196
zmalloc.c converted to use atomicvar.h.
2015-10-01 13:02:25 +02:00
antirez
2ff5fef11b
Atomic vars implemented in a more general way.
...
We have them into zmalloc.c, but this is going to replace that
implementation, so that it's possible to use the same idea everywhere
inside the code base.
2015-10-01 13:02:25 +02:00
antirez
7babd6e184
Lazyfree: incremental removed, only threaded survived.
2015-10-01 13:02:25 +02:00
antirez
fbc46738f4
Threaded lazyfree WIP #1 .
2015-10-01 13:02:25 +02:00
antirez
9295b586b4
bio.c: new API bioWaitStepOfType().
2015-10-01 13:02:25 +02:00
antirez
d8afd9bc95
Test: stack_logging var should be initialized to 0.
2015-10-01 13:02:25 +02:00
antirez
cc71d239bd
Hash new implementation memleaks fixed.
2015-10-01 13:02:25 +02:00
antirez
cd94476e0b
Lazyfree: Hash converted to use plain SDS WIP 5.
2015-10-01 13:02:25 +02:00
antirez
cdfd6a2607
Test: support for stack logging for OSX malloc/leaks.
2015-10-01 13:02:25 +02:00
antirez
5eb85d8fe7
Lazyfree: Hash converted to use plain SDS WIP 4.
2015-10-01 13:02:25 +02:00
antirez
b4da37e32e
Lazyfree: Hash converted to use plain SDS WIP 3.
2015-10-01 13:02:24 +02:00
antirez
5ae12b50d1
Lazyfree: Hash converted to use plain SDS WIP 2.
2015-10-01 13:02:24 +02:00
antirez
5fd01e29d9
Lazyfree: Hash converted to use plain SDS WIP 1.
2015-10-01 13:02:24 +02:00
antirez
d3b2c3f2f8
DEBUG DIGEST Set type memory leak fixed.
2015-10-01 13:02:24 +02:00
antirez
4ef4617c44
SORT memory leak fixed.
2015-10-01 13:02:24 +02:00
antirez
c4175281f6
Lazyfree: Sorted sets convereted to plain SDS. (several commits squashed)
2015-10-01 13:02:24 +02:00
antirez
062bf5ce19
Lazyfree: Convert Sets to use plains SDS (several commits squashed).
2015-10-01 13:02:24 +02:00
antirez
ac508699de
Lazyfree: client output buffers no longer use Redis Objects.
2015-10-01 13:02:24 +02:00
antirez
ca8d13bd90
Lazyfree: a first implementation of non blocking DEL.
2015-10-01 13:00:19 +02:00
antirez
3b47d3f11d
Call writeToClient() directly instead of the write handler.
2015-09-30 17:41:52 +02:00
antirez
0810ed570e
Fix processEventsWhileBlocked() to handle PENDING_WRITE clients.
...
After the introduction of the list with clients with pending writes, to
process clients incrementally outside of the event loop we also need to
process the pending writes list.
2015-09-30 17:23:44 +02:00
antirez
af182a200f
Refactoring: unlinkClient() added to lower freeClient() complexity.
2015-09-30 17:10:03 +02:00
antirez
8268ed723a
Refactoring: new function to test if client has pending output.
2015-09-30 16:41:48 +02:00
antirez
5fad6cea15
Reverse list of clients with pending writes.
...
May potentially improve locality... not exactly clear if this makes a
difference or not. But for sure is harmless.
2015-09-30 16:29:42 +02:00
antirez
eaa5b8d9bc
writeToClient(): don't remove write handler if not needed.
2015-09-30 16:29:42 +02:00
antirez
2fe94ee816
handleClientsWithPendingWrites(): detect dead clients.
2015-09-30 16:29:42 +02:00
antirez
7a7b8bc244
Move handleClientsWithPendingWrites() in networking.c.
2015-09-30 16:29:42 +02:00
antirez
e5121eba31
Avoid installing the client write handler when possible.
2015-09-30 16:29:41 +02:00
antirez
d638d3de00
redis-cli pipe mode: don't stay in the write loop forever.
...
The code was broken and resulted in redis-cli --pipe to, most of the
times, writing everything received in the standard input to the Redis
connection socket without ever reading back the replies, until all the
content to write was written.
This means that Redis had to accumulate all the output in the output
buffers of the client, consuming a lot of memory.
Fixed thanks to the original report of anomalies in the behavior
provided by Twitter user @fsaintjacques.
2015-09-30 16:24:21 +02:00
antirez
c0eb960fc1
Mark version of unstable branch in an unique way.
2015-09-29 17:30:24 +02:00
antirez
2a014229f0
Test: fix false positive in HSTRLEN test.
...
HINCRBY* tests later used the value "tmp" that was sometimes generated
by the random key generation function. The result was ovewriting what
Tcl expected to be inside Redis with another value, causing the next
HSTRLEN test to fail.
2015-09-15 09:37:30 +02:00