antirez
c9ad11d797
Modules: remove spurious call from moduleHandleBlockedClients().
...
Now we handle propagation when we free the context.
2019-10-31 10:32:59 +01:00
antirez
5b3c740872
Modules: block on keys: example on hellotype.c.
2019-10-31 10:30:54 +01:00
antirez
c4becaebaa
Modules: block on keys: implement the internals.
2019-10-30 10:57:44 +01:00
antirez
fb56b8fd07
Modules: block on keys: export APIs.
2019-10-30 10:20:28 +01:00
antirez
5f2a2b974e
Modules: block on keys functions layout and mechanism.
2019-10-30 10:11:58 +01:00
Jamie Scott
11cf515c9f
Add no-slowlog to acl command to prevent passwords
...
Adding no-slowlog to acl command to prevent acl passwords from showing in slowlog
2019-10-29 15:10:07 -07: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
5752b1718b
test infra: improve prints on failed assertions
...
sometimes we have several assertions with the same condition in the same test
at different stages, and when these fail (the ones that print the condition
text) you don't know which one it was. other assertions didn't print the
condition text (variable names), just the expected and unexpected values.
So now, all assertions print context line, and conditin text.
besides, one of the major differences between 'assert' and 'assert_equal',
is that the later is able to print the value that doesn't match the expected.
if there is a rare non-reproducible failure, it is helpful to know what was
the value the test encountered and how far it was from the threshold.
So now, adding assert_lessthan and assert_range that can be used in some places.
were we used just 'assert { a > b }' so far.
2019-10-29 17:38:12 +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
bbf594e25c
Merge pull request #6470 from gkorland/CI
...
Add Github action for CI
2019-10-29 10:25:34 +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
Salvatore Sanfilippo
2b0ccc64a9
Merge pull request #6481 from guybe7/modules_notify
...
Modules: Allow notifying custom keyspace events
2019-10-28 12:16:04 +01:00
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
antirez
ac5f73bfbf
LOLWUT 6: always pick a default color sequence.
2019-10-28 11:10:58 +01:00
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
antirez
d3a46ec04e
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2019-10-28 11:09:09 +01:00
Salvatore Sanfilippo
d4a63e69b7
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
323379b688
Merge pull request #6493 from yossigo/modules-make-cleanup
...
Modules: improve tests Makefile.
2019-10-28 10:00:40 +01: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
Salvatore Sanfilippo
9733126ae3
Merge pull request #4761 from WJWH/minor-typos
...
Fix some minor typos in comments
2019-10-28 09:58:38 +01:00
Salvatore Sanfilippo
7a1e50a9e6
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
cb470bbb73
Merge pull request #6503 from cstrotm/unstable
...
Typo fix: kill -> still
2019-10-28 09:57:19 +01:00
Salvatore Sanfilippo
847dd92ef0
Merge pull request #6505 from swilly22/replaywith-module-API-additions
...
Introduce ReplyWithVerbatimString, ReplyWithEmptyArray, ReplyWithNull…
2019-10-28 09:56:56 +01:00
Salvatore Sanfilippo
7ced3fd0e9
Merge pull request #4994 from soloestoy/module-blocked-client
...
Modules: make unloading module more safe
2019-10-28 09:55:11 +01:00
swilly22
29827d37a5
Introduce ReplyWithVerbatimString, ReplyWithEmptyArray, ReplyWithNullArray and ReplyWithEmptyString to redis module API
2019-10-28 08:50:25 +02:00
zhaozhao.zz
18c4ccf898
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
f12c08d921
Typo fix: kill -> still
2019-10-25 19:38:45 +02:00
happynote3966
fd5c1adbd7
fix comment typo in redis-cli.c
2019-10-25 22:31:55 +09:00
Wander Hillen
3ca35b8024
Merge branch 'unstable' into minor-typos
2019-10-25 10:18:26 +02:00
John Sully
a55fe8a3ba
Fix potential race in pubsub
...
Former-commit-id: 427c5999f167256dc3a6a0f49ad28313f700a155
2019-10-25 02:50:30 -04:00
John Sully
1b3cbd056f
Fix potential race in pubsub
...
Former-commit-id: a91f58b8fd5d267760d504b024068d0132569ae9
2019-10-25 02:44:14 -04:00
John Sully
c276b86fea
bump version
...
Former-commit-id: 3013799664932ce95a22425d13ab7203add07b52
2019-10-25 01:00:28 -04:00
John Sully
2ad519d115
Merge branch 'unstable' into RELEASE_5
...
Former-commit-id: f8220a658e0cf569b94ee5c5fbfeac474c1ef803
2019-10-24 23:39:18 -04:00
John Sully
949270801e
Signals can happen on any thread, so look for the signal handler not the command on the callstack
...
Former-commit-id: f1d2b2945007f8811528b197480e255c6b35559c
2019-10-24 23:30:08 -04:00
John Sully
70fba8e707
Two fixes: 1) Remove race conditions by not locking clients when async writing. 2) Don't derefence dangling pointers in lambda
...
Former-commit-id: cb93752aff4c67d4475e9ed17833335716c45744
2019-10-24 23:07:02 -04:00
John Sully
c8f1efddaa
Sanitizers work with GCC too
...
Former-commit-id: 549cad378d9faccae0c47917d000c0cad3561351
2019-10-24 23:05:39 -04:00
John Sully
7bdc24a86d
Remove the DB lock, its unnecessary
...
Former-commit-id: 631f863dd89cd642e2023beabf8b31cdc84bbdff
2019-10-24 20:18:48 -04:00
John Sully
b39e6c9497
Remove unlocked KEYS command support, we will do this with snapshotting
...
Former-commit-id: 4396682c07d4df3fdca01d1299ad171e310a9fc7
2019-10-24 20:18:11 -04:00
Oran Agra
5ba6fe50c7
Module API for LatencyAddSample
2019-10-24 14:24:55 +03:00
Yossi Gottlieb
a6d42ebfd9
Modules: improve tests Makefile.
...
Removes some boilerplate per module, add clean target.
2019-10-24 13:21:35 +03:00
antirez
1ffe4578e2
Remove trailing space from server.c.
2019-10-24 11:20:15 +02:00
antirez
3bd7f715c8
Modules hooks: test flush event.
2019-10-24 10:51:03 +02:00
antirez
51b680be42
Modules hooks: initial Tcl test file.
2019-10-24 10:41:25 +02:00
Oran Agra
70815145a7
Make module tests pass with valgrind, and fix a leak in diskless load
2019-10-24 09:45:25 +03:00
John Sully
8d2dc7ab52
Build break, ensure C99 compatibility
...
Former-commit-id: ca4ee4e3e4e28e2a186ac782ab0052c56a798ed2
2019-10-23 13:38:07 -04:00
John Sully
391b2f311e
Fix build break in TravisCI
...
Former-commit-id: 2da09e07321e114faa04f84ef7a50908ecac5eea
2019-10-23 13:31:39 -04:00