171 Commits

Author SHA1 Message Date
Oran Agra
5ba6fe50c7 Module API for LatencyAddSample 2019-10-24 14:24:55 +03:00
antirez
581c9133e5 Modules hooks: implement the FLUSHDB event. 2019-10-23 18:39:53 +02:00
antirez
6cd26b3db3 Modules hooks: unify structures definitions. 2019-10-23 18:39:53 +02:00
antirez
d41d09d474 Modules hooks: document what yet to implement WIP 1. 2019-10-23 18:39:53 +02:00
antirez
7379bb76f2 Module hooks: fixes and an example module. 2019-10-23 18:39:53 +02:00
antirez
f3e4f24f68 Modules hooks: fix define / linker issues. Implement one test event. 2019-10-23 18:39:53 +02:00
antirez
98a0d95965 Modules hooks: handle module unloading + API export. 2019-10-23 18:39:53 +02:00
antirez
aa9b870db3 Modules hooks: event firing logic. 2019-10-23 18:39:53 +02:00
antirez
16af0381d5 Modules: export GetClientInfoById(). 2019-10-23 18:39:53 +02:00
antirez
35c8b8969e Modules: RM_GetClientInfoById() draft. 2019-10-23 18:39:53 +02:00
antirez
1f1d25b5a9 Modules hooks: a first version of events and some API. 2019-10-23 18:39:53 +02:00
antirez
ea85cda320 Modules: allow to check for AOF loading client. 2019-10-17 18:10:50 +02:00
antirez
34961ddee8 Modules: add new flags to context, replica state + more. 2019-10-17 17:49:33 +02:00
Oran Agra
bd49c4679b Merge remote-tracking branch 'antirez/unstable' into modules_info 2019-09-30 20:47:35 +03:00
Salvatore Sanfilippo
5c5761bcd6 Merge branch 'unstable' into modules_fork 2019-09-27 11:24:06 +02:00
Salvatore Sanfilippo
f11b71b9b8 Merge pull request #6235 from oranagra/module_rdb_load_errors
Allow modules to handle RDB loading errors.
2019-09-26 11:52:42 +02:00
Salvatore Sanfilippo
838fd190ca Merge pull request #4980 from yossigo/rm-assert
Add RedisModule_Assert() API call.
2019-09-26 11:39:29 +02:00
Oran Agra
d4c24a3067 Module INFO, add support for dict fields, rename API to have common prefix 2019-08-18 09:41:45 +03:00
Oran Agra
7d18a61559 Merge remote-tracking branch 'oss/unstable' into module_rdb_load_errors 2019-07-30 15:14:08 +03:00
Oran Agra
9fa285523c Avoid diskelss-load if modules did not declare they handle read errors 2019-07-30 15:11:57 +03:00
Oran Agra
b2fce80695 Extend modules API to allow modules report to redis INFO
this implements #6012
2019-07-24 12:58:15 +03:00
Oran Agra
ff0780e8e6 Implement module api for aux data in rdb
Other changes:
* fix memory leak in error handling of rdb loading of type OBJ_MODULE
2019-07-22 21:15:33 +03:00
Oran Agra
c80ad2f4b5 Allow modules to handle RDB loading errors.
This is especially needed in diskless loading, were a short read could have
caused redis to exit. now the module can handle the error and return to the
caller gracefully.

this fixes #5326
2019-07-21 18:19:32 +03:00
Oran Agra
e70fbad802 Module API for Forking
* create module API for forking child processes.
* refactor duplicate code around creating and tracking forks by AOF and RDB.
* child processes listen to SIGUSR1 and dies exitFromChild in order to
  eliminate a valgrind warning of unhandled signal.
* note that BGSAVE error reply has changed.

valgrind error is:
  Process terminating with default action of signal 10 (SIGUSR1)
2019-07-17 16:40:24 +03:00
Salvatore Sanfilippo
985e5b2c60 Merge pull request #6161 from swilly22/redismodule-loading-ctx-flag
Extend REDISMODULE_CTX_FLAGS to indicate if redis is  loading
2019-07-07 17:01:29 +02:00
swilly22
7077d14afe Extend REDISMODULE_CTX_FLAGS to indicate if redis is currently loading from either RDB or AOF 2019-06-12 15:37:19 +03:00
Itamar Haber
1b3f0c047a Adds RedisModule_ReplyWithCString
Signed-off-by: Itamar Haber <itamar@redislabs.com>
2019-04-16 17:15:23 +03:00
Salvatore Sanfilippo
d415aa89c0 Merge pull request #5944 from yossigo/command-filtering
Command Filtering API
2019-03-22 17:43:49 +01:00
Salvatore Sanfilippo
e19f00f8b2 Merge pull request #5945 from dvirsky/miss_notification
Added keyspace miss notifications support
2019-03-22 17:41:00 +01:00
Yossi Gottlieb
898677d59e CommandFilter API: REDISMODULE_CMDFILTER_NOSELF.
Add a flag to automatically protect filters from being called
recursively by their own module.
2019-03-21 19:53:12 +02:00
Yossi Gottlieb
c675d44488 CommandFilter API: Add unregister option.
A filter handle is returned and can be used to unregister a filter.  In
the future it can also be used to further configure or manipulate the
filter.

Filters are now automatically unregistered when a module unloads.
2019-03-21 14:44:49 +02:00
Dvir Volk
ca2eadaaac Added missing REDISMODULE_NOTIFY_KEY_MISS flag to REDISMODULE_NOTIFY_ALL 2019-03-21 12:47:51 +02:00
Dvir Volk
50befc42ad added special flag for keyspace miss notifications 2019-03-21 11:47:14 +02:00
Yossi Gottlieb
fdacd1b0b5 CommandFilter API: More cleanup. 2019-03-18 23:05:52 +02:00
Yossi Gottlieb
bc47c987d6 Add command filtering argument handling API. 2019-03-18 18:36:46 +02:00
Yossi Gottlieb
bb6e8ba682 Initial command filter experiment. 2019-03-18 13:50:34 +02:00
Yossi Gottlieb
dd405d4026 Add RedisModule_GetKeyNameFromIO(). 2019-03-15 10:23:27 +02:00
Yossi Gottlieb
3137f26d4c Add RedisModule_Assert() API call. 2019-03-14 15:00:31 +02:00
antirez
4e3f2ab269 Merge branch 'sharedapi' into unstable 2019-03-14 11:24:48 +01:00
swilly22
58bcc05b1d Extend REDISMODULE_CTX_FLAGS to indicate if command was sent by master 2019-03-11 10:02:19 +02:00
antirez
b91f7656fd Modules shared API: export new core APIs. 2018-12-20 17:57:49 +01:00
antirez
ea2d253238 Revert shared APIs to modify the design. 2018-12-20 17:56:38 +01:00
MeirShpilraien
2a907e7d00 added module ability to register api to be used by other modules 2018-12-20 17:55:18 +01:00
antirez
cda734caff Modules: Modules: dictionary API WIP #13: Compare API exported. 2018-09-27 11:46:22 +02:00
antirez
205998ae7e Modules: dictionary API WIP #10: export API to modules. 2018-09-26 13:39:01 +02:00
antirez
3480bebb3c Modules: dictionary API work in progress #1. 2018-09-21 17:54:09 +02:00
antirez
587db27252 Module cluster flags: add RM_SetClusterFlags() API. 2018-09-19 12:02:37 +02:00
antirez
96ceafbe4d Module cluster flags: initial vars / defines added. 2018-09-19 11:20:52 +02:00
antirez
9191287d08 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
antirez
c8e556d710 Modules API: blocked client disconnection callback. 2018-04-12 13:21:48 +02:00