antirez
938dafa9e3
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
261a66b791
Modules hooks: don't call the hook for fake clients.
2019-10-23 18:39:53 +02:00
antirez
d6739df4fc
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
9d10d62003
Modules hooks: select the right DB for FLUSHDB events.
2019-10-23 18:39:53 +02:00
antirez
77a37cafd5
Modules hooks: FLUSHDB event example.
2019-10-23 18:39:53 +02:00
antirez
581c9133e5
Modules hooks: implement the FLUSHDB event.
2019-10-23 18:39:53 +02:00
antirez
6cd26b3db3
Modules hooks: unify structures definitions.
2019-10-23 18:39:53 +02:00
antirez
4866552961
Modules hooks: document what yet to implement WIP 2.
2019-10-23 18:39:53 +02:00
antirez
d41d09d474
Modules hooks: document what yet to implement WIP 1.
2019-10-23 18:39:53 +02:00
antirez
aa4d69606d
Modules hooks: do more in example client callback.
2019-10-23 18:39:53 +02:00
antirez
7379bb76f2
Module hooks: fixes and an example module.
2019-10-23 18:39:53 +02:00
antirez
d5bd45a368
Modules hooks: fix sub event in calls from client change.
2019-10-23 18:39:53 +02:00
antirez
f3e4f24f68
Modules hooks: fix define / linker issues. Implement one test event.
2019-10-23 18:39:53 +02:00
antirez
98a0d95965
Modules hooks: handle module unloading + API export.
2019-10-23 18:39:53 +02:00
antirez
30d8dce935
Modules hooks: fix a leak and a few more issues.
2019-10-23 18:39:53 +02:00
antirez
aa9b870db3
Modules hooks: event firing logic.
2019-10-23 18:39:53 +02:00
antirez
e9f6e9306b
Modules: refactoring of RM_GetClientInfoById().
2019-10-23 18:39:53 +02:00
antirez
482cf667aa
Modules: fix RedisModule_GetClientInfoById() example.
2019-10-23 18:39:53 +02:00
antirez
16af0381d5
Modules: export GetClientInfoById().
2019-10-23 18:39:53 +02:00
antirez
23ec02d161
Modules: add the client ID to the client info structure.
2019-10-23 18:39:53 +02:00
antirez
35c8b8969e
Modules: RM_GetClientInfoById() draft.
2019-10-23 18:39:53 +02:00
antirez
1f1d25b5a9
Modules hooks: a first version of events and some API.
2019-10-23 18:39:53 +02:00
antirez
7333e5c5a8
Modules hooks: initial design of data structures.
2019-10-23 18:39:53 +02:00
antirez
58a0ef3020
Modules: fix moduleCreateArgvFromUserFormat() casting bug.
...
In 32 bit systems casting to "long" will cut the result to 32 bit.
2019-10-23 18:39:14 +02:00
John Sully
60c35d6ea7
Remove race conditions
...
Former-commit-id: 5a8cb77d0df7f319809ff965a72fe46925f49289
2019-10-22 23:26:37 -04:00
John Sully
b1190c24a8
Optimize deadlock detection, fix callstack for ASM, and annotate locks
...
Note: This change moves our assembly code to use the GNU Assembler because NASM seems to be incapable of emitting the necessary debug information for callstack unwinding to work.
Former-commit-id: 600fc241cfe79b9b32ac6010c6ea0c66747f0f15
2019-10-22 21:34:51 -04:00
John Sully
8aea7f8586
Implement deadlock detection
...
Former-commit-id: fa797408d9c5d5f12053641144fe1a8b24f66185
2019-10-22 00:43:32 -04:00
John Sully
6de2f0779a
Disable multithreaded KEYS due to bugs
...
Former-commit-id: 3fac516950e831129da856f32fa373a56a6268a1
2019-10-21 12:21:46 -04:00
antirez
7414be69c8
module: fix propagation API bug.
2019-10-17 18:28:34 +02:00
antirez
ea85cda320
Modules: allow to check for AOF loading client.
2019-10-17 18:10:50 +02:00
antirez
34961ddee8
Modules: add new flags to context, replica state + more.
2019-10-17 17:49:33 +02:00
John Sully
5eded25f33
Merge branch 'unstable' into RELEASE_5
...
Former-commit-id: 2f65aa2337e93320204bb97122aac3db15827772
2019-10-16 12:47:06 -04:00
john@csquare.ca
d4bb51d52c
Fix: ExpireMember does not update MVCC timestamp
...
Former-commit-id: f5210a8fb0704336e9734076b52a862698820f3a
2019-10-16 12:38:15 -04:00
John Sully
d8a02c8a65
expiremember should return the same results as expire
...
Former-commit-id: 8f1295c00f27b6c89785236c5199c1623773940d
2019-10-16 12:27:04 -04:00
John Sully
4dc728c1ce
Fix crash adding expire to key with a subkey expire already set
...
Former-commit-id: 18a3768e07eb8c4feb4a666d95a19d97267ac381
2019-10-16 12:26:48 -04:00
Yossi Gottlieb
2255860a22
Fix Makefile merge issue.
2019-10-16 17:31:02 +03:00
Yossi Gottlieb
85d7f38136
Merge remote-tracking branch 'upstream/unstable' into tls
2019-10-16 17:08:07 +03:00
Salvatore Sanfilippo
d3bfd0ed88
Merge pull request #5926 from JimB123/unstable
...
Addition of RedisModule_OnUnload hook
2019-10-16 11:13:12 +02:00
Yossi Gottlieb
e17ac77a82
Code review minor changes (names, comments).
2019-10-15 17:21:51 +03:00
Yossi Gottlieb
3a990ebcb4
Conns: write() 0 retval should not trigger error.
2019-10-15 17:20:58 +03:00
Yossi Gottlieb
d2aee5e4fe
Fix compile warnings when BUILD_TLS=no.
2019-10-15 15:24:32 +03:00
John Sully
2980e06c9f
Implement the lastmodified query for the OBJECT command
...
Former-commit-id: 3a3b59a0543148956797ce4ad9d08095051517b9
2019-10-13 14:12:09 -04:00
John Sully
2fc9bb0c8d
You are not allowed to set a subkey expire if the subkey does not exist
...
Former-commit-id: 12e17cfd6e9cc1e470f26c88b58ce5831d10358f
2019-10-13 14:11:43 -04:00
John Sully
ac243ae4bf
Implement the EXPIREMEMBERAT command
...
Former-commit-id: 203e341bf4427723903d8d3de03af2f0ef043a3f
2019-10-13 13:15:13 -04:00
John Sully
650085d61a
Add millisecond support for EXPIREMEMBER command
...
Former-commit-id: 6e6cd84ad7dc9e5763ab36668cbbf8ca6743f8d9
2019-10-13 12:57:50 -04:00
John Sully
e57d2e24c9
Update more slave instances to use replica (Issue #75 )
...
Former-commit-id: 252725d50fc9d4ff2b6e9246a36c38176d61beae
2019-10-13 12:29:20 -04:00
John Sully
05d7536b02
Update a few uses of slave to use the new replica terminology (Issue #75 )
...
Former-commit-id: c15633ea9e784ef0e12e4015a75245661a8cf1b7
2019-10-13 12:12:05 -04:00
John Sully
6080010db0
Fix an intermittent crash when replicationCron happens before slavesdb is update
...
Former-commit-id: 27c9ae667e515819d5be06722722ed6ff43a3205
2019-10-13 12:04:54 -04:00
John Sully
0a00341a80
Implement TTL and PERSIST commands for subkeys. Also ensure expiremember replaces any old subkey expiries
...
Former-commit-id: 16f96efbe7c6c27f2a79f5b472447407f905df15
2019-10-13 12:03:25 -04:00
John Sully
dba52de8ca
Fix issue #88 - don't let seperate KeyDB processes listen on the same port
...
Former-commit-id: 4631119179df5cff638e9b8c51b030cef89a6c02
2019-10-13 10:02:21 -04:00