antirez
0cb66fa156
Fix MIGRATE entry in command table.
...
Thanks to Oran Agra (@oranagra) for reporting. Key extraction would not
work otherwise and it does not make sense to take wrong data in the
command table.
2015-11-17 15:33:09 +01:00
antirez
54f5ecfd49
call() deserves a good top-comment.
2015-11-10 13:31:25 +01:00
antirez
87a12a6085
Best effort flush of slave buffers before SHUTDOWN.
2015-11-09 17:26:58 +01:00
antirez
111d24f246
Fix error reply in subscribed Pub/Sub mode.
...
PING is now a valid command to issue in this context.
2015-11-09 11:10:53 +01:00
antirez
cd8f19e9ca
Initialize all Lua scripting related things into scripting.c
2015-11-05 11:37:39 +01:00
antirez
ff6d296000
Scripting: ability to turn on Lua commands style replication globally.
...
Currently this feature is only accessible via DEBUG for testing, since
otherwise depending on the instance configuration a given script works
or is broken, which is against the Redis philosophy.
2015-10-30 12:06:09 +01:00
antirez
2dabf82d5f
Fix call() FORCE_REPL/AOF flags setting.
...
This commit also inverts two stanzas of the code just becuase they are
more logical like that, not because currently it makes any difference.
2015-10-30 12:06:08 +01:00
antirez
514a234722
Lua script selective replication fixes.
2015-10-30 12:06:08 +01:00
antirez
fc38235664
Scripting: single commands replication mode implemented.
...
By calling redis.replicate_commands(), the scripting engine of Redis
switches to commands replication instead of replicating whole scripts.
This is useful when the script execution is costly but only results in a
few writes performed to the dataset.
Morover, in this mode, it is possible to call functions with side
effects freely, since the script execution does not need to be
deterministic: anyway we'll capture the outcome from the point of view
of changes to the dataset.
In this mode math.random() returns different sequences at every call.
If redis.replicate_commnads() is not called before any other write, the
command returns false and sticks to whole scripts replication instead.
2015-10-30 12:06:08 +01:00
antirez
cdda6748c2
call(): selective ability to prevent propagation on AOF / slaves.
2015-10-30 12:06:08 +01:00
antirez
9dd3d2e9bd
call(): don't inherit CLIENT_PREVENT_PROP + minor refactoring.
2015-10-30 12:06:08 +01:00
antirez
35a0c772b5
DEBUG RESTART/CRASH-AND-RECOVER [delay] implemented.
2015-10-13 11:12:25 +02:00
antirez
73427462ed
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
252cfa0a39
Lazyfree: cond vars to enabled/disable it based on DEL context.
2015-10-02 15:27:57 +02:00
antirez
ecdbc333a3
FLUSHDB and FLUSHALL ASYNC option implemented.
2015-10-01 13:02:26 +02:00
antirez
1f26a9468f
Lazyfree: pending objects count in INFO output.
2015-10-01 13:02:26 +02:00
antirez
7af4eeb745
Lazyfree: incremental removed, only threaded survived.
2015-10-01 13:02:25 +02:00
antirez
9253d85073
Threaded lazyfree WIP #1 .
2015-10-01 13:02:25 +02:00
antirez
974514b936
Lazyfree: Hash converted to use plain SDS WIP 4.
2015-10-01 13:02:25 +02:00
antirez
1c247556c6
Lazyfree: Hash converted to use plain SDS WIP 1.
2015-10-01 13:02:24 +02:00
antirez
a7c5be18a8
Lazyfree: Sorted sets convereted to plain SDS. (several commits squashed)
2015-10-01 13:02:24 +02:00
antirez
86d48efbfd
Lazyfree: Convert Sets to use plains SDS (several commits squashed).
2015-10-01 13:02:24 +02:00
antirez
0c05436cef
Lazyfree: a first implementation of non blocking DEL.
2015-10-01 13:00:19 +02:00
antirez
481a0db315
Move handleClientsWithPendingWrites() in networking.c.
2015-09-30 16:29:42 +02:00
antirez
1c7d87df0c
Avoid installing the client write handler when possible.
2015-09-30 16:29:41 +02:00
antirez
4bc42ca7f6
checkTcpBacklogSetting() now called in Sentinel mode too.
2015-07-29 12:13:20 +02:00
antirez
e6f39338e6
CLIENT_MASTER introduced.
2015-07-28 16:58:35 +02:00
antirez
54c71f2d96
RDMF: Redis -> Server in adjustOpenFilesLimit().
2015-07-28 11:19:20 +02:00
antirez
813ff7fdde
Avoid magic "0" argument to prepareForShutdown().
...
Backported from Disque.
2015-07-28 11:10:42 +02:00
antirez
5cfb792777
RDMF: dictRedisObjectDestructor -> dictObjectDestructor."
2015-07-28 11:03:01 +02:00
antirez
a83e79b176
Use mstime_t as return value of mstime().
2015-07-28 10:14:33 +02:00
antirez
3325a9b11f
RDMF: more names updated.
2015-07-27 15:03:10 +02:00
antirez
32f80e2f1b
RDMF: More consistent define names.
2015-07-27 14:37:58 +02:00
antirez
40eb548a80
RDMF: REDIS_OK REDIS_ERR -> C_OK C_ERR.
2015-07-26 23:17:55 +02:00
antirez
2d9e3eb107
RDMF: redisAssert -> serverAssert.
2015-07-26 15:29:53 +02:00
antirez
14ff572482
RDMF: OBJ_ macros for object related stuff.
2015-07-26 15:28:00 +02:00
antirez
554bd0e7bd
RDMF: use client instead of redisClient, like Disque.
2015-07-26 15:20:52 +02:00
antirez
424fe9afd9
RDMF: redisLog -> serverLog.
2015-07-26 15:17:43 +02:00
antirez
cef054e868
RDMF (Redis/Disque merge friendlyness) refactoring WIP 1.
2015-07-26 15:17:18 +02:00