John Sully
846cad0637
Merge branch 'unstable' into wip-multimaster
...
Former-commit-id: 4326d22380e4e4d9491c4b7cd050b26ec49663b3
2019-04-03 00:12:13 -04:00
John Sully
22c8d9f70b
Merge branch 'unstable' of https://github.com/antirez/redis into unstable
...
Former-commit-id: 3745bbd95b16d7134c86143f458d7f31168c7d33
2019-04-03 00:00:38 -04:00
John Sully
5d3c28a902
It compiles and doesn't crash immediately!
...
Former-commit-id: efaeca588717ca7cd44aa3502672d158acd94a6d
2019-04-02 16:47:05 -04:00
Salvatore Sanfilippo
d415aa89c0
Merge pull request #5944 from yossigo/command-filtering
...
Command Filtering API
2019-03-22 17:43:49 +01:00
John Sully
f11840f6b2
Merge branch 'unstable' of https://github.com/antirez/redis into unstable
...
Former-commit-id: 9322d604eea7b48df3feff47ce2c04f82291228f
2019-03-21 20:15:59 -04: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
John Sully
aa76a89a9a
Merge branch 'unstable' of https://github.com/antirez/redis into unstable
...
Former-commit-id: be3cb1ad3386f382ed7506dbfd1adb810e327007
2019-03-14 14:22:27 -04: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
John Sully
6702b89166
Merge branch 'unstable' of https://github.com/antirez/redis into unstable
...
Lots of fixes and improvements from upstream.
Former-commit-id: 261cf24efc8bedec7ee76a8897b9a800a4d663e2
2019-03-13 18:08:22 -04:00
swilly22
31625ad5b1
document additional flag of RM_GetContextFlags
2019-03-13 08:22:40 +02:00
swilly22
58bcc05b1d
Extend REDISMODULE_CTX_FLAGS to indicate if command was sent by master
2019-03-11 10:02:19 +02:00
John Sully
38fd0476d5
Merge branch 'unstable' into RELEASE_0_9
...
Former-commit-id: 0bc586933ff91fd07128d5419b06303f05d16f2e
2019-03-07 19:13:33 -05:00
John Sully
25c2050c3a
Module threading fixes
...
Former-commit-id: 2785a8b4d40b09caea5e209ab49fc5f1484981a8
2019-03-07 19:13:01 -05:00
John Sully
d1c93ee8e1
port server.c to server.cpp
...
Former-commit-id: 09e6a4fee09b1a61e6d2ac83a2c8fec9978474ec
2019-03-06 16:29:30 -05:00
John Sully
be82e98799
writes shouldn't be under the global lock
...
Former-commit-id: bcfd9327cb4fcf5e1fca9477862919817ddc5ab8
2019-02-26 00:19:38 -05:00
John Sully
dbd82f6bfc
Lock use after free
2019-02-22 21:00:14 -05:00
John Sully
30e8a859c0
Prevent mixed up client replies, and deadlocks
2019-02-22 01:24:16 -05:00
John Sully
8e8abb2ff9
Cleanup lock contention, and ensure clients are written to in an unsafe way when the global lock is released
2019-02-20 23:30:21 -05:00
John Sully
627c19e02f
Multithreading works!
2019-02-20 01:20:26 -05:00
John Sully
c1031e5f98
Prevent erroneously setting CLIENT_PENDING_WRITE when we have async writes
2019-02-19 01:37:16 -05:00
John Sully
0914b52ffa
Thread safety fixes
2019-02-18 22:25:35 -05:00
Guy Benoish
9cd3b12cdf
Trim SDS free space of retained module strings
...
In some cases processMultibulkBuffer uses sdsMakeRoomFor to
expand the querybuf, but later in some cases it uses that query
buffer as is for an argv element (see "Optimization"), which means
that the sds in argv may have a lot of wasted space, and then in case
modules keep that argv RedisString inside their data structure, this
space waste will remain for long (until restarted from rdb).
2019-02-12 14:21:21 +01:00
John Sully
6059bc7e67
Initial work of multithreaded key-db. Note: Fails tests
2019-02-11 03:36:18 -05:00
John Sully
f6736cd713
Reduce memory usage for in place strings by 8 bytes
2019-02-09 13:04:18 -05:00
John Sully
ef310bc7f8
Merge branch 'unstable' of https://github.com/antirez/redis into unstable
2019-02-06 00:09:39 -05:00
John Sully
cd8145e314
Make main headers C++ safe, and change rdb to use file descriptor instead of FILE pointer
2019-02-05 23:36:40 -05:00
John Sully
3e61388df3
complete malloc memory class work, and pass tests
2019-02-04 16:56:13 -05:00
antirez
c68174b5e5
ACL: set modules help clients to the root user.
...
It does not make much sense to limit what modules can do: the admin
should instead limit what module commnads an user may call. So
RedisModule_Call() and other module operations should be able to execute
everything they want: the limitation should be posed by the API exported
by the module itself.
2019-02-01 11:37:28 +01:00
antirez
ee57594c0f
ACL: assign ACL command ID to modules commands.
2019-02-01 08:17:24 +01:00
John Sully
bac51d5ac4
Custom flash heap
2019-01-29 18:10:46 -05:00
antirez
89b7b6a917
RESP3: addReplyString() -> addReplyProto().
...
The function naming was totally nuts. Let's fix it as we break PRs
anyway with RESP3 refactoring and changes.
2019-01-09 17:00:30 +01:00
antirez
bf3d7bbf31
RESP3: initial implementation of the HELLO command.
2019-01-09 17:00:29 +01:00
antirez
2ff959f8ac
RESP3: module.c updated.
2019-01-09 17:00:29 +01:00
antirez
b91f7656fd
Modules shared API: export new core APIs.
2018-12-20 17:57:49 +01:00
antirez
692f2297b9
Modules shared API: also unregister the module as user.
2018-12-20 17:57:46 +01:00
antirez
f25bcefb82
Modules shared API: prevent unloading of used modules.
2018-12-20 17:57:43 +01:00
antirez
a41459ea5b
Modules shared API: unregister APIs function.
2018-12-20 17:57:40 +01:00
antirez
f7e99b07f3
Modules shared API: initial core functions.
...
Based on ideas and code in PR #5560 by @MeirShpilraien.
2018-12-20 17:57:35 +01:00
antirez
ea2d253238
Revert shared APIs to modify the design.
2018-12-20 17:56:38 +01:00