10298 Commits

Author SHA1 Message Date
antirez
a398066625 Modules hooks: select DB zero by default. 2019-10-23 18:51:44 +02:00
antirez
e9f6688a68 Modules hooks: test module draft. 2019-10-23 18:42:02 +02:00
antirez
83adff66c7 Modules hooks: fix memory leak in example module. 2019-10-23 18:39:53 +02:00
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
John Sully
1336f4c80f Remove performance zapping test code
Former-commit-id: c50a3d0bbd2dd801a80060d789484bac4eda4f4c
2019-10-21 01:48:58 -04:00
John Sully
8e6c6403e1 reenable optimized string dup code
Former-commit-id: 5eb84db03a3035d8e96a366f3d372522424646ea
2019-10-21 00:08:38 -04:00
John Sully
0e0e9e73f9 Forkless background save. NOT OPTIMIZED
Former-commit-id: bd9d8e05b0430efd226be773c0530828f1f6b428
2019-10-20 23:54:05 -04:00
Guy Korland
82e1417eb7 add CI action 2019-10-20 10:04:25 +03:00
Guy Korland
7d6d180894 Merge branch 'unstable' of github.com:antirez/redis into unstable 2019-10-20 09:59:23 +03:00
John Sully
0c7f279b2c 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
48787c8a03 Dependencies for forkless RDB saving
Former-commit-id: c12be594754ac8079f467e0fa9f8580bd65e3a55
2019-10-17 22:53:50 -04:00
John Sully
6ee58a3b21 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
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
c2b5a8802e Support serializing all types
Former-commit-id: dfdd41f15c0567925f02fd5df779f597ab16894d
2019-10-16 14:23:28 -04:00
John Sully
cec6f0e934 Cleanup inheritance
Former-commit-id: e8debc83e8271cf8d76c5084923cf6e1ea7af3b4
2019-10-16 13:45:36 -04:00
John Sully
afa487ca54 Merge branch 'unstable' into advanced_db
Former-commit-id: 88152a8f4f9b4e3a82d5f1416930d39bfa91eb47
2019-10-16 13:23:19 -04: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
Salvatore Sanfilippo
95478456ab Merge pull request #6236 from yossigo/poc/conns
Abstract Connections I/O API & TLS Support
2019-10-16 17:42:35 +02:00