Commit Graph

6104 Commits

Author SHA1 Message Date
c002b95d89 Cluster Manager: cluster is considered consistent if only one node has been found 2018-04-23 16:28:48 +02:00
4cc8de1a37 Cluster Manager: reply error catch for MEET command 2018-04-23 16:28:48 +02:00
65d37960e7 Cluster Manager: slots coverage check. 2018-04-23 16:28:48 +02:00
b3e0ca3412 - Cluster Manager: fixed various memory leaks
- Cluster Manager: fixed flags assignment in
  clusterManagerNodeLoadInfo
2018-04-23 16:28:48 +02:00
8c7ad80f9f Added check for open slots (clusterManagerCheckCluster) 2018-04-23 16:28:47 +02:00
486c7af7b8 Cluster Manager: 'create', 'info' and 'check' commands 2018-04-23 16:28:47 +02:00
ad911a338a Cluster Manager mode 2018-04-23 16:28:47 +02:00
24036b4d32 RDB: expand dict if needed when rdb load object 2018-04-22 22:30:44 +08:00
e6b0e8d9ec Streams: XTRIM command added. 2018-04-19 16:25:29 +02:00
19ae809458 Streams: XADD, handle signaling of write in different ways. 2018-04-19 16:11:43 +02:00
aba76320d5 Streams: XDEL command. 2018-04-18 13:12:09 +02:00
8c8e85df87 Use memtoll() in 'CONFIG SET client-output-buffer-limit' 2018-04-18 13:01:53 +03:00
9c149bf1f1 Streams: higher level "delete by ID" API for streams. 2018-04-17 17:55:56 +02:00
24ac2b4c74 Streams: iterator entry deletion abilities. 2018-04-17 17:18:00 +02:00
775adf544c Modules Timer API: fix wrong raxInsert() usage 2018-04-14 01:20:02 +08:00
e07af6a2b7 Modules API: Add call to get the blocked client handle from the context.
This is useful in the reply and timeout callback, if the module wants to
do some cleanup of the blocked client handle that may be stored around
in the module-private data structures.
2018-04-13 13:48:11 +02:00
da0e192277 Modules API: moduleGetReplyClient() refactoring. 2018-04-13 13:42:49 +02:00
404160a271 Modules API: blocked client disconnection callback. 2018-04-12 13:21:48 +02:00
005c932f22 Modules API: fix timer example. 2018-04-12 13:00:18 +02:00
4e53624052 Modules API: fix OOM_WARNING flag implementation. 2018-04-11 16:25:54 +02:00
0afac6939a Modules API: OOM_WARNING flags.
In some modules it may be useful to have an idea about being near to
OOM. Anyway additionally an explicit call to get the fill ratio will be
added in the future.
2018-04-11 16:22:52 +02:00
de7de53e64 getMaxmemoryState() fixed and improved. 2018-04-11 12:48:26 +02:00
b6b00f35ca Return more accurate message when specified ID is invalid 2018-04-10 17:11:10 +08:00
3c20b3fc24 Bugfix: xadd command ID parse
strictly check the string to be converted,
strtoull() in libc may not set errno to EINVAL when the string contains
invalid digits.
2018-04-10 17:05:48 +08:00
07125b8d22 Bugfix: xadd comand <field,value> arity check
missing parenthesis causes wrong arithmetic priority.
2018-04-10 16:36:05 +08:00
f97efe0cac Modules: context flags now include OOM flag.
Plus freeMemoryIfNeeded() refactoring to improve legibility.
Please review this commit for sanity.
2018-04-09 17:44:30 +02:00
6888c1a10d freeMemoryIfNeeded() lacked a top comment. 2018-04-09 17:20:36 +02:00
9a0dbbb594 Modules: remove trailing empty spaces. 2018-04-09 17:16:55 +02:00
eaafea4828 Modules API: experimental APIs version.
This way it is possible to use conditional compilation to be compatible
with a larger amount of Redis versions, however note that this breaks
binary compatibiltiy, so the module must be compiled with the
corresponding redismodule.h file depending on the version of Redis
targeted.
2018-04-09 12:17:19 +02:00
49e098234a Modules API: blocked client free callback modified to get a context.
Note that this was an experimental API that can only be enabled with
REIDSMODULE_EXPERIMENTAL_API, so it is subject to change until its
promoted to stable API. Sorry for the breakage, it is trivial to
resolve btw. This change will not be back ported to Redis 4.0.
2018-04-09 11:54:44 +02:00
0fd2b25c8d Remove unnecessary return statements
Signed-off-by: charpty <charpty@gmail.com>
2018-04-06 18:46:24 +08:00
b2868c7b9c Modules API: RM_GetRandomBytes() / GetRandomHexChars(). 2018-04-05 13:24:22 +02:00
d56f4b4122 Add redis-cli support for diskless replication (CAPA EOF)
when setting repl-diskless-sync yes, and sending SYNC.
redis-cli needs to be able to understand the EOF marker protocol
in order to be able to skip or download the rdb file
2018-04-02 18:52:03 +03:00
c75582889a Modules Cluster API: GetClusterSize() added. 2018-04-01 16:36:32 +02:00
27f9c8108c Modules Cluster API: GetMyClusterID() added. 2018-04-01 16:20:57 +02:00
19c42c901b Modules Timer API: add example of API. 2018-03-31 10:12:34 +02:00
ee982f4031 Modules Timer API: Wait at least 1 ms per iteration. Convert to ms. 2018-03-31 10:11:30 +02:00
4c11bc6cf0 Modules Timer API: fix wrong raxRemove() key argument. 2018-03-31 09:58:43 +02:00
2f7da0fd1a Modules Timer API: fix infinite loop and export API. 2018-03-31 00:44:46 +02:00
b85a465c25 Modules Timer API: timer handling implemented. 2018-03-30 22:50:21 +02:00
561039c125 Modules Timer API: initial implementation. 2018-03-30 20:40:35 +02:00
192361b562 Modules Cluster API: node API exported, example improved. 2018-03-30 17:00:45 +02:00
16178b692e Modules Cluster API: nodes list and info API. 2018-03-30 16:16:47 +02:00
83ec35770e Modules Cluster API: node information struct and flags. 2018-03-30 13:16:55 +02:00
a97df1a6e1 Modules Cluster API: make node IDs pointers constant. 2018-03-30 13:16:07 +02:00
061f03d730 Modules Cluster API: add a simple example module. 2018-03-30 12:49:45 +02:00
82004f9dbe Modules Cluster API: fix new API calls exporting. 2018-03-30 12:49:16 +02:00
b4dc782e4e Modules Cluster API: sending / receiving API first implementation. 2018-03-30 11:06:08 +02:00
fbef85ca5a debug: avoid free client unexpectedly when reload & loadaof 2018-03-29 23:20:58 +08:00
0701cad3de Modules Cluster API: message bus implementation. 2018-03-29 15:13:31 +02:00