Salvatore Sanfilippo
2e1dd00c80
Merge pull request #6837 from oranagra/signal_modified_key_doc
...
update RM_SignalModifiedKey doc comment
2020-02-06 10:38:36 +01:00
Salvatore Sanfilippo
13741fb99d
Merge pull request #6846 from oranagra/module_client_flags
...
Fix client flags to be int64 in module.c
2020-02-06 10:32:35 +01:00
Oran Agra
85cc696f50
moduleRDBLoadError, add key name, and use panic rather than exit
...
using panic rather than exit means you get s stack trace of the code
path that experianced the error, and possibly other info.
2020-02-06 09:37:04 +02:00
Oran Agra
d454d5a4f5
Fix client flags to be int64 in module.c
...
currently there's no bug since the flags these functions handle are
always lower than 32bit, but still better fix the type to prevent future
bugs.
2020-02-06 09:33:20 +02:00
Oran Agra
3795aaf42a
update RM_SignalModifiedKey doc comment
2020-02-05 18:15:38 +02:00
Guy Benoish
1c7a2269d6
Add RM_CreateStringFromDouble
2020-02-04 19:28:09 +05:30
Oran Agra
138ed120dd
fix uninitialized info_cb var in module.c
2020-02-03 16:35:39 +02:00
Guy Benoish
2fda5f5c98
Exclude "keymiss" notification from NOTIFY_ALL
...
Because "keymiss" is "special" compared to the rest of
the notifications (Trying not to break existing apps
using the 'A' format for notifications)
Also updated redis.conf and module.c docs
2020-02-03 15:43:44 +05:30
Salvatore Sanfilippo
53ac8c7df2
Merge pull request #6812 from guybe7/str_convert_fix
...
ld2string should fail if string contains \0 in the middle
2020-01-30 17:51:04 +01:00
Guy Benoish
2deb55512f
ld2string should fail if string contains \0 in the middle
...
This bug affected RM_StringToLongDouble and HINCRBYFLOAT.
I added tests for both cases.
Main changes:
1. Fixed string2ld to fail if string contains \0 in the middle
2. Use string2ld in getLongDoubleFromObject - No point of
having duplicated code here
The two changes above broke RM_SaveLongDouble/RM_LoadLongDouble
because the long double string was saved with length+1 (An innocent
mistake, but it's actually a bug - The length passed to
RM_SaveLongDouble should not include the last \0).
2020-01-30 18:15:17 +05:30
antirez
17ff3173d6
Add more info in the unblockClientFromModule() function.
2020-01-29 12:47:50 +01:00
Salvatore Sanfilippo
bf53f9280a
Merge pull request #6699 from guybe7/module_blocked_on_key_timeout_memleak
...
Modules: Fix blocked-client-related memory leak
2020-01-29 12:06:14 +01:00
Guy Benoish
d7d13721d3
Modules: Fix blocked-client-related memory leak
...
If a blocked module client times-out (or disconnects, unblocked
by CLIENT command, etc.) we need to call moduleUnblockClient
in order to free memory allocated by the module sub-system
and blocked-client private data
Other changes:
Made blockedonkeys.tcl tests a bit more aggressive in order
to smoke-out potential memory leaks
2019-12-30 10:10:59 +05:30
Yossi Gottlieb
0c898bdb07
Add REDISMODULE_CTX_FLAGS_MULTI_DIRTY.
2019-12-23 19:43:51 +02:00
Oran Agra
660645c742
modules don't signalModifiedKey in setKey() since that's done (optionally) in RM_CloseKey
2019-12-23 10:15:52 +02:00
antirez
324e22accf
Fix ip and missing mode in RM_GetClusterNodeInfo().
2019-12-20 12:29:02 +01:00
Salvatore Sanfilippo
d3a9dff6b9
Merge pull request #6615 from soloestoy/wrap-also-propagate-as-multi
...
Wrap also propagate as multi
2019-12-19 09:24:52 +01:00
antirez
c5bc1c14c0
Modules: rewrite top function doc of AvoidReplicaTraffic().
2019-12-18 17:11:03 +01:00
Salvatore Sanfilippo
ef0b45ece8
Merge pull request #6497 from oranagra/avoid_replica_traffic
...
Add config and module API for AvoidReplicaTraffic
2019-12-18 17:06:05 +01:00
antirez
5b9d3ac6c6
Avoid changing setKey() API after #6679 fix.
2019-12-18 11:58:02 +01:00
zhaozhao.zz
24044f3356
add a new SET option KEEPTTL that doesn't remove expire time
2019-12-18 15:20:36 +08:00
Salvatore Sanfilippo
b7c78b7651
Merge pull request #5916 from madolson/dev-unstable-acl-module-pr
...
Add module APIs for custom authentication
2019-12-17 09:58:26 +01:00
Madelyn Olson
576a08908b
Split error message so dependandent callers give a useful result
2019-12-16 23:34:37 -08:00
Madelyn Olson
44aa22c635
Added better exception handling around scripting and module
2019-12-16 23:33:53 -08:00
Madelyn Olson
f891b64a83
Tweaking the documentation
2019-12-17 07:28:55 +00:00
Madelyn Olson
034dcf185c
Add module APIs for custom authentication
2019-12-17 06:59:59 +00:00
antirez
aa3f13761f
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2019-12-16 11:18:20 +01:00
antirez
096592506e
Modules: allow to execute RM_Call() from the module init function.
2019-12-13 17:34:37 +01:00
Yossi Gottlieb
0283db5883
Improve RM_ModuleTypeReplaceValue() API.
...
With the previous API, a NULL return value was ambiguous and could
represent either an old value of NULL or an error condition. The new API
returns a status code and allows the old value to be returned
by-reference.
This commit also includes test coverage based on
tests/modules/datatype.c which did not exist at the time of the original
commit.
2019-12-12 18:50:11 +02:00
antirez
476333d192
Remove useless space from moduleLoad().
2019-12-12 09:29:10 +01:00
Salvatore Sanfilippo
2968d8e3cb
Merge branch 'unstable' into ModuleSecurity
2019-12-12 09:27:14 +01:00
Oran Agra
b5f3247ca5
Add module API for AvoidReplicaTraffic
...
This is useful to tell redis and modules to try to avoid doing things that may
increment the replication offset, and should be used when draining a master
and waiting for replicas to be in perfect sync before a failover.
2019-12-12 08:38:09 +02:00
Salvatore Sanfilippo
c6fb9d0963
Merge pull request #6656 from oranagra/leak_rm_load_from_str
...
fix leak in RM_LoadDataTypeFromString, and save
2019-12-11 11:39:27 +01:00
Oran Agra
a37cca3644
fix leak in RM_LoadDataTypeFromString, and save
2019-12-11 12:35:00 +02:00
Oran Agra
173cca5413
fix possible warning on incomplete struct init
2019-12-10 11:16:13 +02:00
antirez
e4b6070c0f
Modules: more clarification about disconnection callback.
2019-12-09 12:15:38 +01:00
antirez
2271cf03f5
Modules: clarify when the disconnection callback is called.
2019-12-05 10:38:18 +01:00
antirez
7b5f4b175b
Modules: create timers in contexts without a client.
2019-12-03 16:21:23 +01:00
zhaozhao.zz
2c970532dc
Propagation: flag module client as CLIENT_MULTI if needed
...
in case of nested MULTI/EXEC
2019-11-22 16:20:30 +08:00
zhaozhao.zz
37a10cef02
Propagation: wrap commands in also_propagate array with MULIT/EXEC
...
Random command like SPOP with count is replicated as
some SREM operations, and store them in also_propagate
array to propagate after the call, but this would break
atomicity.
To keep the command's atomicity, wrap also_propagate
array with MULTI/EXEC.
2019-11-22 15:42:49 +08:00
Salvatore Sanfilippo
64c2508ee3
Merge branch 'unstable' into rm_get_server_info
2019-11-21 10:06:15 +01:00
Salvatore Sanfilippo
f1f259de5b
Merge pull request #6547 from guybe7/module_api_streams
...
Support streams in general module API functions
2019-11-21 10:03:50 +01:00
antirez
da47d52c79
Recomment PR #6346 .
2019-11-21 10:01:49 +01:00
Salvatore Sanfilippo
70469b76d6
Merge branch 'unstable' into expose_zmalloc_capabilities
2019-11-21 09:57:19 +01:00
Salvatore Sanfilippo
e7144fbed8
Merge branch 'unstable' into module-long-double
2019-11-19 12:15:45 +01:00
Salvatore Sanfilippo
e916058f0b
Merge pull request #6557 from oranagra/rm_lru_lfu_revized
...
rename RN_SetLRUOrLFU -> RM_SetLRU and RN_SetLFU
2019-11-19 11:58:07 +01:00
Salvatore Sanfilippo
06a24b9cfa
Merge pull request #6597 from yossigo/rm-call-extended-errors
...
Improve RM_Call() errno classification.
2019-11-19 11:41:32 +01:00
Yossi Gottlieb
2d1e893b3e
Improve RM_Call() errno classification.
...
RM_Call() will now use EBADF and ENONET in addition to EINVAL in order
to provide more information about errors (i.e. when return value is
NULL).
2019-11-19 12:10:48 +02:00
Salvatore Sanfilippo
656e40eed2
Merge branch 'unstable' into scan_module_impl
2019-11-19 11:08:02 +01:00
Salvatore Sanfilippo
1530a3cfc6
Merge pull request #6577 from oranagra/module_doc
...
module docs, missing LOADING flag
2019-11-19 11:02:58 +01:00