1. 04 Oct, 2019 1 commit
  2. 03 Oct, 2019 1 commit
  3. 02 Oct, 2019 2 commits
  4. 27 Sep, 2019 4 commits
  5. 02 Sep, 2019 1 commit
  6. 25 Aug, 2019 1 commit
  7. 05 Aug, 2019 1 commit
  8. 30 Jul, 2019 1 commit
  9. 24 Jul, 2019 2 commits
  10. 23 Jul, 2019 3 commits
  11. 22 Jul, 2019 2 commits
  12. 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
  13. 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
  14. 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
  15. 05 Jul, 2019 1 commit
  16. 03 Jul, 2019 2 commits
  17. 30 Jun, 2019 2 commits
  18. 13 Jun, 2019 1 commit
  19. 10 Jun, 2019 1 commit
  20. 02 Jun, 2019 1 commit
    • Oran Agra's avatar
      make redis purge jemalloc after flush, and enable background purging thread · 09f99c2a
      Oran Agra authored
      jemalloc 5 doesn't immediately release memory back to the OS, instead there's a decaying
      mechanism, which doesn't work when there's no traffic (no allocations).
      this is most evident if there's no traffic after flushdb, the RSS will remain high.
      
      1) enable jemalloc background purging
      2) explicitly purge in flushdb
      09f99c2a
  21. 06 May, 2019 7 commits
  22. 29 Apr, 2019 1 commit