9982 Commits

Author SHA1 Message Date
John Sully
8d0b21c403 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
8b44d86c7c processEventsWhileBlocked needs to release the lock in a safe way
Former-commit-id: 1a70af2ae13962db038b0635cc29488019323538
2019-10-23 13:19:57 -04:00
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
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
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
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
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
eric-weaver
2a472c06f3 add missing dependency
Former-commit-id: 95e3dbc1048ba99af1b64f97b681ed1e67e2431a
2019-10-13 21:30:06 +02:00