Salvatore Sanfilippo
cf2b0f6e86
Merge branch 'unstable' into module_lru_lfu
2019-11-04 11:04:49 +01:00
Salvatore Sanfilippo
574f611290
Merge pull request #6532 from oranagra/rm_misc_commands
...
Module API for PUBLISH, FLUSHALL, RANDOMKEY, DBSIZE
2019-11-04 11:02:37 +01:00
Salvatore Sanfilippo
9d9dbbf404
Merge branch 'unstable' into module_hooks
2019-11-04 10:37:06 +01:00
Oran Agra
9cd3997851
Module API for PUBLISH, FLUSHALL, RANDOMKEY, DBSIZE
2019-11-04 07:40:52 +02:00
antirez
d576dde06b
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2019-10-31 17:55:18 +01:00
antirez
4af1df6b9f
Modules: block on keys: use a better interface.
...
Using the is_key_ready() callback plus the reply callback later, creates
different issues AFAIK:
1. More complex API.
2. We need to call the reply callback() ASAP if the is_key_ready()
interface returned success, however the internals do not work in that
way, so when the reply callback is called the setup could be different.
To fix that, there is to break the current design that handles the
unblocked clients asyncrhonously, and run the list ASAP.
2019-10-31 11:35:07 +01:00
antirez
fb56b8fd07
Modules: block on keys: export APIs.
2019-10-30 10:20:28 +01:00
Oran Agra
68c6aacf3b
Modules hooks: complete missing hooks for the initial set of hooks
...
* replication hooks: role change, master link status, replica online/offline
* persistence hooks: saving, loading, loading progress
* misc hooks: cron loop, shutdown, module loaded/unloaded
* change the way hooks test work, and add tests for all of the above
startLoading() now gets flag indicating what is loaded.
stopLoading() now gets an indication of success or failure.
adding startSaving() and stopSaving() with similar args and role.
2019-10-29 17:59:09 +02:00
Oran Agra
57649ce051
Module API for controlling LRU and LFU, and OpenKey without TOUCH
...
Some commands would want to open a key without touching it's LRU/LFU
similarly to the OBJECT or DEBUG command do.
Other commands may want to implement logic similar to what RESTORE
does (and in the future MIGRATE) and get/set the LRU or LFU.
2019-10-29 15:03:05 +02:00
Salvatore Sanfilippo
6f4ef70666
Merge pull request #6487 from oranagra/module_modified_key
...
Module API for explicit SignalModifiedKey instead of implicit one.
2019-10-29 10:40:22 +01:00
Salvatore Sanfilippo
688dd7d6e9
Merge pull request #6508 from guybe7/fix_module_notify_comp_error
...
Fix compilation error introduced by 5d01f01be
2019-10-29 10:07:45 +01:00
Salvatore Sanfilippo
9f31e02a79
Merge pull request #6495 from oranagra/rm_call_argv
...
Module api RM_CallArgv and test
2019-10-29 10:07:05 +01:00
Guy Benoish
7be7591b7b
Fix compilation error introduced by 5d01f01be
...
Need to add calls to REDISMODULE_API_FUNC...
2019-10-28 17:58:07 +05:30
Oran Agra
d725788873
Module api tests for RM_Call
...
Adding a test for coverage for RM_Call in a new "misc" unit
to be used for various short simple tests
also solves compilation warnings in redismodule.h and fork.c
2019-10-28 12:39:57 +02:00
Guy Benoish
5d01f01beb
Modules: Allow notifying custom keyspace events
...
Also, add an API for getting server.notify_keyspace_events
Other (unrelated) changes:
Add RM_GetKeynameFromModuleKey
2019-10-28 15:53:35 +05:30
Oran Agra
6700a2dc66
Module API for explicit SignalModifiedKey instead of implicit one.
...
This commit also fixes an uninitialized module struct member (that luckily never got released)
2019-10-28 12:09:25 +02:00
Salvatore Sanfilippo
79e670d6ad
Merge pull request #6498 from oranagra/rm_latency_add_sample
...
Module API for LatencyAddSample
2019-10-28 09:59:26 +01:00
swilly22
29827d37a5
Introduce ReplyWithVerbatimString, ReplyWithEmptyArray, ReplyWithNullArray and ReplyWithEmptyString to redis module API
2019-10-28 08:50:25 +02:00
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