Yossi Gottlieb
61733ded14
TLS: Configuration options.
...
Add configuration options for TLS protocol versions, ciphers/cipher
suites selection, etc.
2019-10-07 21:07:27 +03:00
Oran Agra
6b6294807c
TLS: Implement support for write barrier.
2019-10-07 21:06:30 +03:00
Oran Agra
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
Yossi Gottlieb
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
Oran Agra
bf759cc9c3
Merge remote-tracking branch 'antirez/unstable' into jemalloc_purge_bg
2019-10-04 13:53:40 +03:00
antirez
ee1cef189f
Minor aesthetic changes to #6419 .
2019-10-04 12:00:41 +02:00
Salvatore Sanfilippo
264778af0a
Merge pull request #6419 from oranagra/lua_timeout_sha
...
On LUA script timeout, print the script SHA to the log
2019-10-04 11:58:05 +02:00
antirez
e938bbc543
Modules: implement RM_Replicate() from async callbacks.
2019-10-03 10:56:37 +02:00
antirez
758b39be99
Speedup INFO server section.
2019-10-02 11:30:20 +02:00
Oran Agra
98426e9886
On LUA script timeout, print the script SHA to the log
...
since the slowlog and other means that can help you detect the bad script
are only exposed after the script is done. it might be a good idea to at least
print the script name (sha) to the log when it timeouts.
2019-10-02 08:40:35 +03:00
Oran Agra
d5c14c70b7
Merge remote-tracking branch 'antirez/unstable' into modules_info
2019-09-30 20:47:35 +03:00
John Sully
b6b6bb0488
Implement left and right shift BITOP operators
...
Former-commit-id: ba365298ed37a76f0a8630e0ec6c86393293aebe
2019-09-28 00:10:46 -04:00
antirez
0a07f8ffee
TerminateModuleForkChild(): fix function prototype.
2019-09-27 12:23:07 +02:00
antirez
721d3c9e0c
TerminateModuleForkChild(): move safety checks there.
...
We don't want that the API could be used directly in an unsafe way,
without checking if there is an active child. Now the safety checks are
moved directly in the function performing the operations.
2019-09-27 12:17:47 +02:00
antirez
de1f82aa33
Function renamed hasForkChild() -> hasActiveChildProcess().
2019-09-27 12:03:09 +02:00
antirez
ae3ef964c1
Modules fork: improve SIGUSR1 handling, fix include.
...
We can't expect SIGUSR1 to have any specific value range, so let's
define an exit code that we can handle in a special way.
This also fixes an #include <wait.h> that is not standard.
2019-09-27 11:39:45 +02:00
Salvatore Sanfilippo
6129758558
Merge branch 'unstable' into modules_fork
2019-09-27 11:24:06 +02:00
John Sully
9f3cbd580e
Fix multi master bugs: 1. we fail to create the temp file. 2. We use a master RDB as our backup even though we merged databases (and therefore it is not representitive)
...
Former-commit-id: e776474f68a2824bb7d4082c41991a9a9f3a9c9d
2019-09-26 20:35:51 -04:00
Salvatore Sanfilippo
c1ea6175c5
Merge pull request #6024 from itamarhaber/info_modules
...
Adds a "Modules" section to `INFO`
2019-09-26 11:58:52 +02:00
Salvatore Sanfilippo
959fb5cf68
Merge pull request #6235 from oranagra/module_rdb_load_errors
...
Allow modules to handle RDB loading errors.
2019-09-26 11:52:42 +02:00
John Sully
2912b22403
KEYS now only blocks one database
...
Former-commit-id: 18d42a5c353f76533a0ccc4ded24ed089cedacc8
2019-09-12 18:51:10 -04:00
antirez
06d490342f
RESP3: fix cases of NULL reported instead of empty aggregate.
2019-09-02 12:50:47 +02:00
John Sully
b98eed9945
Fix race condition in PUB/SUB and other async reply commands where the client can be freed before our handler is executed on the client thread. When this occurs the client pointer is dangling
...
Former-commit-id: 46a78c69e718f0aeb5e62f33c59458b15b8d9bc6
2019-08-26 20:18:52 -04:00
Oran Agra
78bbb9b58d
Modlue fork is killed when the parent exists
2019-08-25 10:11:48 +03:00
antirez
0e9b5adbd3
Replication: clarify why repl_put_online_on_ack exists at all.
2019-08-05 17:38:15 +02:00
Salvatore Sanfilippo
fc5c2052b5
Merge pull request #6266 from madolson/dev-unstable-hide-auth-and-hello
...
Hide HELLO and AUTH from slowlog and monitor
2019-07-31 11:12:46 +02:00
Oran Agra
e5187ad2ae
Merge remote-tracking branch 'oss/unstable' into module_rdb_load_errors
2019-07-30 15:14:08 +03:00
Oran Agra
4339706e07
Avoid diskelss-load if modules did not declare they handle read errors
2019-07-30 15:11:57 +03:00
Salvatore Sanfilippo
f42846e8c7
Merge pull request #6264 from oranagra/modules_api_aux_rdb
...
Implement module api for aux data in rdb
2019-07-30 11:50:44 +02:00
John Sully
2181eca5de
Fix crash setting expire on a key with an existing subkey expiration
...
Former-commit-id: 4858fd893c8e638b0efdcd3ab2c6dc188a6dc6bd
2019-07-29 17:09:51 -04:00
John Sully
f3aa422a3f
RREPLAY failures should be logged
...
Former-commit-id: 08b6a04055e950e53f043391ec9f9a09f654b1ee
2019-07-24 22:49:30 -04:00
Oran Agra
e91d9a6fff
Extend modules API to allow modules report to redis INFO
...
this implements #6012
2019-07-24 12:58:15 +03:00
antirez
32efd9adf8
Client side caching: config option for table fill rate.
2019-07-24 11:35:01 +02:00
John Sully
f88592451d
Plumb support for sub expires to all expire related code
...
Former-commit-id: 184abac6942a9a6aa8783741b50b23210afddcc5
2019-07-23 18:53:59 -04:00
John Sully
2a2225d150
Initial prototype of EXPIREMEMBER command
...
Former-commit-id: 0b3d74ea67d616a6869cbd66198c8dd7ffa72eb7
2019-07-23 18:53:58 -04:00
John Sully
d58b2575e5
Support TTL stats with the new expire datastructure
...
Former-commit-id: 271df3dad4f55f20177a8a9a065778f4943835f1
2019-07-23 18:30:10 -04:00
John Sully
27cb5dba75
New expire datastructure and algorithm. Allows us to expire in sublinear time
...
Former-commit-id: 3880d2616c882e19169180dc10268564347b0279
2019-07-23 18:30:10 -04:00
antirez
c98e7717bb
Client side caching: show tracking slots usage in INFO.
2019-07-23 11:02:14 +02:00
antirez
9268493e8d
Client side caching: implement full slot limit function.
2019-07-23 10:57:22 +02:00
Madelyn Olson
7d21754710
Hide HELLO and AUTH from slowlog and monitor
2019-07-22 22:53:15 -07:00
Oran Agra
3b6aeea44c
Implement module api for aux data in rdb
...
Other changes:
* fix memory leak in error handling of rdb loading of type OBJ_MODULE
2019-07-22 21:15:33 +03:00
antirez
c41f94d2a3
Client side caching: split invalidation into key / slot.
2019-07-22 18:59:53 +02:00
Oran Agra
d7d028a7a7
Allow modules to handle RDB loading errors.
...
This is especially needed in diskless loading, were a short read could have
caused redis to exit. now the module can handle the error and return to the
caller gracefully.
this fixes #5326
2019-07-21 18:19:32 +03:00
John Sully
15f5c7ccf7
Merge commit '722446510faf0debf0d309708b2ed4fe4d939319' into unstable
...
Former-commit-id: 821c12c482d20b15dfb5a6eeab52e167997627d8
2019-07-19 00:32:43 -04:00
John Sully
4088de0ed2
Merge commit '677e95e2f5ee903682ce44a7bfd9558a22577926' into unstable
...
Former-commit-id: 4602f8c391409e9dd59f1fbee6a5ef011b219ca1
2019-07-19 00:01:56 -04:00
John Sully
e642441354
Fix compile errors from merges
...
Former-commit-id: 27a927fe0011536c6539d7c2a79ccfdaf78cee22
2019-07-18 23:35:51 -04:00
Angus Pearson
7b615e7274
Add char* typeNameCanonicalize(robj*) to remove duplicate code between SCAN and TYPE commands,
...
and to keep OBJ_* enum to string canonicalization in one place.
Former-commit-id: 3cdc6e8d846e88cf4e250b2643662bde2a9317c5
2019-07-18 23:31:31 -04:00
John Sully
e41ab66722
Resolve race on neterr variable
...
Former-commit-id: 1512274f4c51dc4e8f4e3d11df2f35e051c0c079
2019-07-18 17:11:28 -04:00
John Sully
aa560582b4
Make object refcounts atomic, technically it doesn't need to be currently but the semantics are complicated and error prone. This is much safer with little performance impact
...
Former-commit-id: e310d33c121550f69b1c06d101db0c3f944a7fb0
2019-07-18 15:49:12 -04:00
Oran Agra
56258c6b7d
Module API for Forking
...
* create module API for forking child processes.
* refactor duplicate code around creating and tracking forks by AOF and RDB.
* child processes listen to SIGUSR1 and dies exitFromChild in order to
eliminate a valgrind warning of unhandled signal.
* note that BGSAVE error reply has changed.
valgrind error is:
Process terminating with default action of signal 10 (SIGUSR1)
2019-07-17 16:40:24 +03:00