antirez
5dd1130272
Remove trailing space from server.c.
2019-10-24 11:20:15 +02:00
antirez
6e98214f74
Modules hooks: test flush event.
2019-10-24 10:51:03 +02:00
antirez
39f2ab595c
Modules hooks: initial Tcl test file.
2019-10-24 10:41:25 +02:00
Oran Agra
be352633a0
Make module tests pass with valgrind, and fix a leak in diskless load
2019-10-24 09:45:25 +03:00
John Sully
86c1f7aaf7
Build break, ensure C99 compatibility
...
Former-commit-id: ca4ee4e3e4e28e2a186ac782ab0052c56a798ed2
2019-10-23 13:38:07 -04:00
John Sully
b14b11c87c
Fix build break in TravisCI
...
Former-commit-id: 2da09e07321e114faa04f84ef7a50908ecac5eea
2019-10-23 13:31:39 -04:00
John Sully
5f930a4f79
If a replica is about to be closed, don't wait on its lock (potential deadlock)
...
Former-commit-id: 4986dc6da9855ba14d760a89f13ec40c8bea4baf
2019-10-23 13:20:23 -04:00
John Sully
6dc17bbe1f
processEventsWhileBlocked needs to release the lock in a safe way
...
Former-commit-id: 1a70af2ae13962db038b0635cc29488019323538
2019-10-23 13:19:57 -04:00
antirez
7cefbeaad5
Modules hooks: select DB zero by default.
2019-10-23 18:51:44 +02:00
antirez
d3266d516b
Modules hooks: test module draft.
2019-10-23 18:42:02 +02:00
antirez
dddfde85ef
Modules hooks: fix memory leak in example module.
2019-10-23 18:39:53 +02:00
antirez
61ac2aef2b
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
8cccc6b468
Modules hooks: don't call the hook for fake clients.
2019-10-23 18:39:53 +02:00
antirez
83de18805c
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
89af7e4c85
Modules hooks: select the right DB for FLUSHDB events.
2019-10-23 18:39:53 +02:00
antirez
bc1ef48e56
Modules hooks: FLUSHDB event example.
2019-10-23 18:39:53 +02:00
antirez
ed833c9f99
Modules hooks: implement the FLUSHDB event.
2019-10-23 18:39:53 +02:00
antirez
8ec2fc3969
Modules hooks: unify structures definitions.
2019-10-23 18:39:53 +02:00
antirez
db8c9a8520
Modules hooks: document what yet to implement WIP 2.
2019-10-23 18:39:53 +02:00
antirez
18d1607f5e
Modules hooks: document what yet to implement WIP 1.
2019-10-23 18:39:53 +02:00
antirez
c379fdbae2
Modules hooks: do more in example client callback.
2019-10-23 18:39:53 +02:00
antirez
cf52e0ad44
Module hooks: fixes and an example module.
2019-10-23 18:39:53 +02:00
antirez
94c50314f1
Modules hooks: fix sub event in calls from client change.
2019-10-23 18:39:53 +02:00
antirez
019ac37e9c
Modules hooks: fix define / linker issues. Implement one test event.
2019-10-23 18:39:53 +02:00
antirez
d54652682d
Modules hooks: handle module unloading + API export.
2019-10-23 18:39:53 +02:00
antirez
1e78681df8
Modules hooks: fix a leak and a few more issues.
2019-10-23 18:39:53 +02:00
antirez
b9af7e24e4
Modules hooks: event firing logic.
2019-10-23 18:39:53 +02:00
antirez
6e56f513b4
Modules: refactoring of RM_GetClientInfoById().
2019-10-23 18:39:53 +02:00
antirez
21d8544128
Modules: fix RedisModule_GetClientInfoById() example.
2019-10-23 18:39:53 +02:00
antirez
e9b5484ddd
Modules: export GetClientInfoById().
2019-10-23 18:39:53 +02:00
antirez
6ea8641ae0
Modules: add the client ID to the client info structure.
2019-10-23 18:39:53 +02:00
antirez
d2d74ca0f3
Modules: RM_GetClientInfoById() draft.
2019-10-23 18:39:53 +02:00
antirez
bebb2e1994
Modules hooks: a first version of events and some API.
2019-10-23 18:39:53 +02:00
antirez
3170f63330
Modules hooks: initial design of data structures.
2019-10-23 18:39:53 +02:00
antirez
ed2ba31e4c
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
03769b5c17
Remove race conditions
...
Former-commit-id: 5a8cb77d0df7f319809ff965a72fe46925f49289
2019-10-22 23:26:37 -04:00
John Sully
1c1260d71f
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
b84d9671ec
Implement deadlock detection
...
Former-commit-id: fa797408d9c5d5f12053641144fe1a8b24f66185
2019-10-22 00:43:32 -04:00
John Sully
6ec189bd1b
Disable multithreaded KEYS due to bugs
...
Former-commit-id: 3fac516950e831129da856f32fa373a56a6268a1
2019-10-21 12:21:46 -04:00
John Sully
7a5932121c
Remove performance zapping test code
...
Former-commit-id: c50a3d0bbd2dd801a80060d789484bac4eda4f4c
2019-10-21 01:48:58 -04:00
John Sully
e25ea03c25
reenable optimized string dup code
...
Former-commit-id: 5eb84db03a3035d8e96a366f3d372522424646ea
2019-10-21 00:08:38 -04:00
John Sully
9df7197221
Forkless background save. NOT OPTIMIZED
...
Former-commit-id: bd9d8e05b0430efd226be773c0530828f1f6b428
2019-10-20 23:54:05 -04:00
Guy Korland
0381f14acc
add CI action
2019-10-20 10:04:25 +03:00
Guy Korland
1ac30300f0
Merge branch 'unstable' of github.com:antirez/redis into unstable
2019-10-20 09:59:23 +03:00
John Sully
764a05fedd
Factor out dependencies on rdb_child_pid which will be going away
...
Former-commit-id: 2ab4c6b99e3f3cb9f216bd81e78914a6fcd394f6
2019-10-17 23:10:45 -04:00
John Sully
5fb7d4a325
Dependencies for forkless RDB saving
...
Former-commit-id: c12be594754ac8079f467e0fa9f8580bd65e3a55
2019-10-17 22:53:50 -04:00
John Sully
7de19770cb
Ensure RDB saving only uses data from the persistent data struct, and cleanup inheritance
...
Former-commit-id: fcdda67d87b3076023f459532c75392b72768a51
2019-10-17 17:20:47 -04:00
antirez
673c9d7029
module: fix propagation API bug.
2019-10-17 18:28:34 +02:00
antirez
97f6e314c1
Modules: allow to check for AOF loading client.
2019-10-17 18:10:50 +02:00
antirez
8651e6a10d
Modules: add new flags to context, replica state + more.
2019-10-17 17:49:33 +02:00