1. 04 Nov, 2019 1 commit
  2. 31 Oct, 2019 1 commit
    • antirez's avatar
      Modules: block on keys: use a better interface. · 91f4bdc9
      antirez authored
      Using the is_key_ready() callback plus the reply callback later, creates
      different issues AFAIK:
      
      1. More complex API.
      2. We need to call the reply callback() ASAP if the is_key_ready()
      interface returned success, however the internals do not work in that
      way, so when the reply callback is called the setup could be different.
      To fix that, there is to break the current design that handles the
      unblocked clients asyncrhonously, and run the list ASAP.
      91f4bdc9
  3. 30 Oct, 2019 1 commit
  4. 29 Oct, 2019 2 commits
    • Oran Agra's avatar
      Modules hooks: complete missing hooks for the initial set of hooks · 51c3ff8d
      Oran Agra authored
      * replication hooks: role change, master link status, replica online/offline
      * persistence hooks: saving, loading, loading progress
      * misc hooks: cron loop, shutdown, module loaded/unloaded
      * change the way hooks test work, and add tests for all of the above
      
      startLoading() now gets flag indicating what is loaded.
      stopLoading() now gets an indication of success or failure.
      adding startSaving() and stopSaving() with similar args and role.
      51c3ff8d
    • Oran Agra's avatar
      Module API for controlling LRU and LFU, and OpenKey without TOUCH · e978bdf9
      Oran Agra authored
      Some commands would want to open a key without touching it's LRU/LFU
      similarly to the OBJECT or DEBUG command do.
      
      Other commands may want to implement logic similar to what RESTORE
      does (and in the future MIGRATE) and get/set the LRU or LFU.
      e978bdf9
  5. 23 Oct, 2019 2 commits
  6. 17 Oct, 2019 1 commit
  7. 08 Oct, 2019 1 commit
    • Yossi Gottlieb's avatar
      TLS: Improve CA certifiate configuration options. · d7f2681a
      Yossi Gottlieb authored
      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.
      d7f2681a
  8. 07 Oct, 2019 4 commits
    • Yossi Gottlieb's avatar
      TLS: Configuration options. · 61733ded
      Yossi Gottlieb authored
      Add configuration options for TLS protocol versions, ciphers/cipher
      suites selection, etc.
      61733ded
    • Oran Agra's avatar
      TLS: Implement support for write barrier. · 6b629480
      Oran Agra authored
      6b629480
    • Oran Agra's avatar
      diskless replication rdb transfer uses pipe, and writes to sockets form the parent process. · 5a477946
      Oran Agra authored
      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
      5a477946
    • Yossi Gottlieb's avatar
      TLS: Connections refactoring and TLS support. · b087dd1d
      Yossi Gottlieb authored
      * 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.
      b087dd1d
  9. 04 Oct, 2019 1 commit
  10. 03 Oct, 2019 1 commit
  11. 02 Oct, 2019 2 commits
  12. 27 Sep, 2019 4 commits
  13. 02 Sep, 2019 1 commit
  14. 25 Aug, 2019 1 commit
  15. 05 Aug, 2019 1 commit
  16. 30 Jul, 2019 1 commit
  17. 24 Jul, 2019 2 commits
  18. 23 Jul, 2019 3 commits
  19. 22 Jul, 2019 2 commits
  20. 21 Jul, 2019 1 commit
    • Oran Agra's avatar
      Allow modules to handle RDB loading errors. · d7d028a7
      Oran Agra authored
      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
      d7d028a7
  21. 17 Jul, 2019 2 commits
    • Oran Agra's avatar
      Module API for Forking · 56258c6b
      Oran Agra authored
      * 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)
      56258c6b
    • zhaozhao.zz's avatar
  22. 08 Jul, 2019 2 commits
    • Oran Agra's avatar
      diskless replication on slave side (don't store rdb to file), plus some other related fixes · 2de544cf
      Oran Agra authored
      The implementation of the diskless replication was currently diskless only on the master side.
      The slave side was still storing the received rdb file to the disk before loading it back in and parsing it.
      
      This commit adds two modes to load rdb directly from socket:
      1) when-empty
      2) using "swapdb"
      the third mode of using diskless slave by flushdb is risky and currently not included.
      
      other changes:
      --------------
      distinguish between aof configuration and state so that we can re-enable aof only when sync eventually
      succeeds (and not when exiting from readSyncBulkPayload after a failed attempt)
      also a CONFIG GET and INFO during rdb loading would have lied
      
      When loading rdb from the network, don't kill the server on short read (that can be a network error)
      
      Fix rdb check when performed on preamble AOF
      
      tests:
      run replication tests for diskless slave too
      make replication test a bit more aggressive
      Add test for diskless load swapdb
      2de544cf
    • Angus Pearson's avatar
  23. 05 Jul, 2019 1 commit
  24. 03 Jul, 2019 2 commits