Commit Graph

8680 Commits

Author SHA1 Message Date
ed833c9f99 Modules hooks: implement the FLUSHDB event. 2019-10-23 18:39:53 +02:00
8ec2fc3969 Modules hooks: unify structures definitions. 2019-10-23 18:39:53 +02:00
db8c9a8520 Modules hooks: document what yet to implement WIP 2. 2019-10-23 18:39:53 +02:00
18d1607f5e Modules hooks: document what yet to implement WIP 1. 2019-10-23 18:39:53 +02:00
c379fdbae2 Modules hooks: do more in example client callback. 2019-10-23 18:39:53 +02:00
cf52e0ad44 Module hooks: fixes and an example module. 2019-10-23 18:39:53 +02:00
94c50314f1 Modules hooks: fix sub event in calls from client change. 2019-10-23 18:39:53 +02:00
019ac37e9c Modules hooks: fix define / linker issues. Implement one test event. 2019-10-23 18:39:53 +02:00
d54652682d Modules hooks: handle module unloading + API export. 2019-10-23 18:39:53 +02:00
1e78681df8 Modules hooks: fix a leak and a few more issues. 2019-10-23 18:39:53 +02:00
b9af7e24e4 Modules hooks: event firing logic. 2019-10-23 18:39:53 +02:00
6e56f513b4 Modules: refactoring of RM_GetClientInfoById(). 2019-10-23 18:39:53 +02:00
21d8544128 Modules: fix RedisModule_GetClientInfoById() example. 2019-10-23 18:39:53 +02:00
e9b5484ddd Modules: export GetClientInfoById(). 2019-10-23 18:39:53 +02:00
6ea8641ae0 Modules: add the client ID to the client info structure. 2019-10-23 18:39:53 +02:00
d2d74ca0f3 Modules: RM_GetClientInfoById() draft. 2019-10-23 18:39:53 +02:00
bebb2e1994 Modules hooks: a first version of events and some API. 2019-10-23 18:39:53 +02:00
3170f63330 Modules hooks: initial design of data structures. 2019-10-23 18:39:53 +02:00
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
0381f14acc add CI action 2019-10-20 10:04:25 +03:00
1ac30300f0 Merge branch 'unstable' of github.com:antirez/redis into unstable 2019-10-20 09:59:23 +03:00
673c9d7029 module: fix propagation API bug. 2019-10-17 18:28:34 +02:00
97f6e314c1 Modules: allow to check for AOF loading client. 2019-10-17 18:10:50 +02:00
8651e6a10d Modules: add new flags to context, replica state + more. 2019-10-17 17:49:33 +02:00
efb6495a44 Merge pull request #6236 from yossigo/poc/conns
Abstract Connections I/O API & TLS Support
2019-10-16 17:42:35 +02:00
8e29b0b22b Fix Makefile merge issue. 2019-10-16 17:31:02 +03:00
0db3b0a0ff Merge remote-tracking branch 'upstream/unstable' into tls 2019-10-16 17:08:07 +03:00
b8e02f2b40 Merge pull request #5926 from JimB123/unstable
Addition of RedisModule_OnUnload hook
2019-10-16 11:13:12 +02:00
c469f6ad9e Code review minor changes (names, comments). 2019-10-15 17:21:51 +03:00
71f10de4de Conns: write() 0 retval should not trigger error. 2019-10-15 17:20:58 +03:00
0132189007 Fix compile warnings when BUILD_TLS=no. 2019-10-15 15:24:32 +03:00
dd29d44136 Test: fix implementation-dependent test after code change. 2019-10-10 15:22:42 +02:00
8e3d910d4e Merge pull request #6429 from charsyam/feature/typo-slave
[trivial] fix typos salves to slaves in replication.c
2019-10-10 14:56:43 +02:00
363604a27d Merge pull request #6437 from OMG-By/redis-omg_by
there should is AUTH && HELLO non authenticated state.
2019-10-10 14:55:03 +02:00
1677f4223c Merge pull request #6443 from guybe7/fix_stream_rax_node_limits
Fix usage of server.stream_node_max_*
2019-10-10 14:49:35 +02:00
14a9da0613 Merge pull request #6145 from oranagra/jemalloc_purge_bg
purge jemalloc after flush, and enable background purging thread
2019-10-10 14:48:59 +02:00
1d9d27c91a Merge pull request #6438 from daidaotong/unstable
resolve typo in test module
2019-10-10 11:18:47 +02:00
509fe9cba1 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2019-10-10 10:31:43 +02:00
747be463d2 Cluster: fix memory leak of cached master.
This is what happened:

1. Instance starts, is a slave in the cluster configuration, but
actually server.masterhost is not set, so technically the instance
is acting like a master.

2. loadDataFromDisk() calls replicationCacheMasterUsingMyself() even if
the instance is a master, in the case it is logically a slave and the
cluster is enabled. So now we have a cached master even if the instance
is practically configured as a master (from the POV of
server.masterhost value and so forth).

3. clusterCron() sees that the instance requires to replicate from its
master, because logically it is a slave, so it calls
replicationSetMaster() that will in turn call
replicationCacheMasterUsingMyself(): before this commit, this call would
overwrite the old cached master, creating a memory leak.
2019-10-10 10:23:34 +02:00
2fae0192e8 Fix usage of server.stream_node_max_* 2019-10-10 09:47:48 +02:00
98600c9a11 update typo 2019-10-09 14:15:31 -04:00
1a292e0634 there should is AUTH && HELLO non authenticated state. 2019-10-10 00:52:26 +08:00
a92921da13 Merge pull request #6430 from jaamison/jj/unstable
stream.h: fix typo
2019-10-08 17:40:47 +02:00
17bf0b25c1 Merge pull request #6427 from oranagra/static-analyzer
fix issues found by a static analyzer
2019-10-08 17:10:57 +02:00
009862ab7e Geo: output 10 chars of geohash, not 11.
This does not limit the actual precision, because the last digit bits were
garbage, and the shift value became even negative in the last iteration.
2019-10-08 17:09:37 +02:00
d7f2681a0c TLS: Improve CA certifiate configuration options.
This adds support for explicit configuration of a CA certs directory (in
addition to the previously supported bundle file).  For redis-cli, if no
explicit CA configuration is supplied the system-wide default
configuration will be adopted.
2019-10-08 17:58:50 +03:00
61733ded14 TLS: Configuration options.
Add configuration options for TLS protocol versions, ciphers/cipher
suites selection, etc.
2019-10-07 21:07:27 +03:00
6b6294807c TLS: Implement support for write barrier. 2019-10-07 21:06:30 +03:00
5a47794606 diskless replication rdb transfer uses pipe, and writes to sockets form the parent process.
misc:
- handle SSL_has_pending by iterating though these in beforeSleep, and setting timeout of 0 to aeProcessEvents
- fix issue with epoll signaling EPOLLHUP and EPOLLERR only to the write handlers. (needed to detect the rdb pipe was closed)
- add key-load-delay config for testing
- trim connShutdown which is no longer needed
- rioFdsetWrite -> rioFdWrite - simplified since there's no longer need to write to multiple FDs
- don't detect rdb child exited (don't call wait3) until we detect the pipe is closed
- Cleanup bad optimization from rio.c, add another one
2019-10-07 21:06:30 +03:00
b087dd1db6 TLS: Connections refactoring and TLS support.
* Introduce a connection abstraction layer for all socket operations and
integrate it across the code base.
* Provide an optional TLS connections implementation based on OpenSSL.
* Pull a newer version of hiredis with TLS support.
* Tests, redis-cli updates for TLS support.
2019-10-07 21:06:13 +03:00