Oran Agra
51c3ff8d75
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
Salvatore Sanfilippo
764b420f5f
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
568dfd4b49
Merge pull request #6470 from gkorland/CI
...
Add Github action for CI
2019-10-29 10:25:34 +01:00
Salvatore Sanfilippo
94973fd0eb
Merge pull request #6508 from guybe7/fix_module_notify_comp_error
...
Fix compilation error introduced by cee6dead3
2019-10-29 10:07:45 +01:00
Salvatore Sanfilippo
90169cdf16
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
43e2a398f9
Fix compilation error introduced by cee6dead3
...
Need to add calls to REDISMODULE_API_FUNC...
2019-10-28 17:58:07 +05:30
Salvatore Sanfilippo
469a6e5f1a
Merge pull request #6481 from guybe7/modules_notify
...
Modules: Allow notifying custom keyspace events
2019-10-28 12:16:04 +01:00
Oran Agra
0399b5a27e
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
cee6dead3c
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
antirez
cfcb475435
LOLWUT 6: always pick a default color sequence.
2019-10-28 11:10:58 +01:00
Oran Agra
a12f07792f
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
antirez
8337e083b6
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2019-10-28 11:09:09 +01:00
Salvatore Sanfilippo
c328c807e7
Merge pull request #6496 from oranagra/module_tests_valgrind
...
Make module tests pass with valgrind, and fix a leak in diskless load
2019-10-28 10:05:52 +01:00
Salvatore Sanfilippo
d2658f8387
Merge pull request #6493 from yossigo/modules-make-cleanup
...
Modules: improve tests Makefile.
2019-10-28 10:00:40 +01:00
Salvatore Sanfilippo
5aab012676
Merge pull request #6498 from oranagra/rm_latency_add_sample
...
Module API for LatencyAddSample
2019-10-28 09:59:26 +01:00
Salvatore Sanfilippo
e097c99681
Merge pull request #4761 from WJWH/minor-typos
...
Fix some minor typos in comments
2019-10-28 09:58:38 +01:00
Salvatore Sanfilippo
6f2fc34228
Merge pull request #6502 from happynote3966/typo-fix
...
fix comment typo in redis-cli.c
2019-10-28 09:57:43 +01:00
Salvatore Sanfilippo
c6c65d9ab3
Merge pull request #6503 from cstrotm/unstable
...
Typo fix: kill -> still
2019-10-28 09:57:19 +01:00
Salvatore Sanfilippo
d070221707
Merge pull request #6505 from swilly22/replaywith-module-API-additions
...
Introduce ReplyWithVerbatimString, ReplyWithEmptyArray, ReplyWithNull…
2019-10-28 09:56:56 +01:00
Salvatore Sanfilippo
24fdc87fe0
Merge pull request #4994 from soloestoy/module-blocked-client
...
Modules: make unloading module more safe
2019-10-28 09:55:11 +01:00
swilly22
56a7c45521
Introduce ReplyWithVerbatimString, ReplyWithEmptyArray, ReplyWithNullArray and ReplyWithEmptyString to redis module API
2019-10-28 08:50:25 +02:00
zhaozhao.zz
c74398e130
Modules: make unloading module more safe
...
As we know if a module exports module-side data types,
unload it is not allowed. This rule is the same with
blocked clients in module, because we use background
threads to implement module blocked clients, and it's
not safe to unload a module if there are background
threads running. So it's necessary to check if any
blocked clients running in this module when unload it.
Moreover, after that we can ensure that if no modules,
then no module blocked clients even module unloaded.
So, we can call moduleHandleBlockedClients only when
we have installed modules.
2019-10-28 11:31:58 +08:00
Carsten Strotmann
cb2ca37f88
Typo fix: kill -> still
2019-10-25 19:38:45 +02:00
happynote3966
cd02c5944f
fix comment typo in redis-cli.c
2019-10-25 22:31:55 +09:00
Wander Hillen
fb1f4f4e7e
Merge branch 'unstable' into minor-typos
2019-10-25 10:18:26 +02:00
Oran Agra
e3b1d6d3ad
Module API for LatencyAddSample
2019-10-24 14:24:55 +03:00
Yossi Gottlieb
183d264e9e
Modules: improve tests Makefile.
...
Removes some boilerplate per module, add clean target.
2019-10-24 13:21:35 +03:00
antirez
5dd1130272
Remove trailing space from server.c.
2019-10-24 11:20:15 +02:00
antirez
6e98214f74
Modules hooks: test flush event.
2019-10-24 10:51:03 +02:00
antirez
39f2ab595c
Modules hooks: initial Tcl test file.
2019-10-24 10:41:25 +02:00
Oran Agra
be352633a0
Make module tests pass with valgrind, and fix a leak in diskless load
2019-10-24 09:45:25 +03:00
antirez
7cefbeaad5
Modules hooks: select DB zero by default.
2019-10-23 18:51:44 +02:00
antirez
d3266d516b
Modules hooks: test module draft.
2019-10-23 18:42:02 +02:00
antirez
dddfde85ef
Modules hooks: fix memory leak in example module.
2019-10-23 18:39:53 +02:00
antirez
61ac2aef2b
Modules hooks: for nested calls, create new fake clients.
...
We can't use the same client at the same time when re-entering the hook.
2019-10-23 18:39:53 +02:00
antirez
8cccc6b468
Modules hooks: don't call the hook for fake clients.
2019-10-23 18:39:53 +02:00
antirez
83de18805c
Modules hooks: do not re-enter in hooks.
...
Calling a module hook callback may result in callback operations in turn
triggering other events the module is subscribed too. We don't want to
trigger those, it's unsafe and quite confusing, and to do it correcly we
would need to maintain an event list: quite a more complex
implementation.
2019-10-23 18:39:53 +02:00
antirez
89af7e4c85
Modules hooks: select the right DB for FLUSHDB events.
2019-10-23 18:39:53 +02:00
antirez
bc1ef48e56
Modules hooks: FLUSHDB event example.
2019-10-23 18:39:53 +02:00
antirez
ed833c9f99
Modules hooks: implement the FLUSHDB event.
2019-10-23 18:39:53 +02:00
antirez
8ec2fc3969
Modules hooks: unify structures definitions.
2019-10-23 18:39:53 +02:00
antirez
db8c9a8520
Modules hooks: document what yet to implement WIP 2.
2019-10-23 18:39:53 +02:00
antirez
18d1607f5e
Modules hooks: document what yet to implement WIP 1.
2019-10-23 18:39:53 +02:00
antirez
c379fdbae2
Modules hooks: do more in example client callback.
2019-10-23 18:39:53 +02:00
antirez
cf52e0ad44
Module hooks: fixes and an example module.
2019-10-23 18:39:53 +02:00
antirez
94c50314f1
Modules hooks: fix sub event in calls from client change.
2019-10-23 18:39:53 +02:00
antirez
019ac37e9c
Modules hooks: fix define / linker issues. Implement one test event.
2019-10-23 18:39:53 +02:00
antirez
d54652682d
Modules hooks: handle module unloading + API export.
2019-10-23 18:39:53 +02:00
antirez
1e78681df8
Modules hooks: fix a leak and a few more issues.
2019-10-23 18:39:53 +02:00
antirez
b9af7e24e4
Modules hooks: event firing logic.
2019-10-23 18:39:53 +02:00