antirez
e885d74018
Modules fork: improve SIGUSR1 handling, fix include.
...
We can't expect SIGUSR1 to have any specific value range, so let's
define an exit code that we can handle in a special way.
This also fixes an #include <wait.h> that is not standard.
2019-09-27 11:39:45 +02:00
Salvatore Sanfilippo
5c5761bcd6
Merge branch 'unstable' into modules_fork
2019-09-27 11:24:06 +02:00
antirez
cf2dc07791
INFO: more info about loaded modules.
...
Related to #6024 .
2019-09-26 12:18:55 +02:00
Salvatore Sanfilippo
4d5fc6b46d
Merge pull request #6024 from itamarhaber/info_modules
...
Adds a "Modules" section to `INFO`
2019-09-26 11:58:52 +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
filipecosta90
02ddcc0c78
[fix] fixed the un-refactor bug.
2019-09-25 17:28:42 +01:00
filipecosta90
26452e0d85
[fix] un-refactor the code. [perf] replyWithStatus now makes usage of addReplyProto
2019-09-23 23:45:31 +01:00
filipecosta90
6184d97323
[add] improved performance of RM_ReplyWithSimpleString and RM_ReplyWithError by making usage addReplyProto instead of addReplySds
2019-09-15 21:16:30 +01:00
Doug Nelson
f701f7c007
Typo fixes in API documentation
2019-09-05 16:25:06 +01:00
Oran Agra
8bf7c6d789
Modlue fork is killed when the parent exists
2019-08-25 10:11:48 +03:00
Oran Agra
8319ffb34d
Module INFO, support default section for simple modules
2019-08-18 10:01:57 +03: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
5973b475cb
RM_ReplyWithCString was missing registration
2019-08-07 13:06:11 +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
Salvatore Sanfilippo
8e2a99eb4b
Merge pull request #6264 from oranagra/modules_api_aux_rdb
...
Implement module api for aux data in rdb
2019-07-30 11:50:44 +02: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
Oran Agra
e0387b30f2
RM_Log - add support for logging without a context or context without module
...
for instance detached thread safe contexts, or various callbacks that don't
provide a context.
2019-07-17 15:08:18 +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
Salvatore Sanfilippo
3ffea1c914
Merge pull request #6022 from itamarhaber/RedisModule_ReplyWithCString
...
Adds RedisModule_ReplyWithCString
2019-07-05 20:25:18 +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
Yossi Gottlieb
7653918c7a
Preserve client->id for blocked clients.
2019-05-05 20:32:53 +03:00
Itamar Haber
971d9ee0aa
Adds a "Modules" section to INFO
...
Fixes #6012 .
As long as "INFO is broken", this should be adequate IMO. Once we rework
`INFO`, perhaps into RESP3, this implementation should be revisited.
2019-04-16 22:16:12 +03:00
Itamar Haber
346355edc1
Uses addReplyBulkCString
...
Signed-off-by: Itamar Haber <itamar@redislabs.com>
2019-04-16 17:38:33 +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
f55e492701
Merge pull request #5961 from yossigo/modules-tests
...
Modules tests
2019-04-11 07:56:23 -07:00
antirez
f4ae084e94
Aesthetic change to #5962 to conform to Redis style.
2019-04-10 18:53:35 +02:00
Oran Agra
48d14e5aa7
slave corrupts replication stream when module blocked client uses large reply (or POSTPONED_ARRAY)
...
when redis appends the blocked client reply list to the real client, it didn't
bother to check if it is in fact the master client. so a slave executing that
module command will send replies to the master, causing the master to send the
slave error responses, which will mess up the replication offset
(slave will advance it's replication offset, and the master does not)
2019-03-24 14:17:37 +02:00
Yossi Gottlieb
2d4635b483
fix: missing initialization.
2019-03-24 12:00:33 +02:00
Salvatore Sanfilippo
d415aa89c0
Merge pull request #5944 from yossigo/command-filtering
...
Command Filtering API
2019-03-22 17:43:49 +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
b8568a98fd
CommandFilter API: fix UnregisterCommandFilter.
2019-03-21 19:45:41 +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
Yossi Gottlieb
1da0d9b04c
CommandFilter API: Extend documentation.
2019-03-19 19:48:47 +02:00
Yossi Gottlieb
5bd8aae664
CommandFilter API: Support Lua and RM_call() flows.
2019-03-18 23:06:38 +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
9c504573f1
Improve comments after merging #5834 .
2019-03-14 12:47:36 +01:00
Salvatore Sanfilippo
06339c7f54
Merge pull request #5834 from guybe7/trim_module_sds
...
Trim SDS free space of retained module strings
2019-03-14 12:41:31 +01:00
Salvatore Sanfilippo
1596a57f76
Merge pull request #5694 from guybe7/rm_log_args
...
Check server.verbosity in RM_LogRaw
2019-03-14 11:32:03 +01:00
antirez
4e3f2ab269
Merge branch 'sharedapi' into unstable
2019-03-14 11:24:48 +01:00
Jim Brunner
b4f77cc43a
Addition of OnUnload function
2019-03-13 16:31:24 +00:00
swilly22
31625ad5b1
document additional flag of RM_GetContextFlags
2019-03-13 08:22:40 +02:00