1. 15 Apr, 2020 1 commit
    • antirez's avatar
      RDB: load files faster avoiding useless free+realloc. · 61b15307
      antirez authored
      Reloading of the RDB generated by
      
          DEBUG POPULATE 5000000
          SAVE
      
      is now 25% faster.
      
      This commit also prepares the ability to have more flexibility when
      loading stuff from the RDB, since we no longer use dbAdd() but can
      control exactly how things are added in the database.
      61b15307
  2. 29 Oct, 2019 1 commit
    • 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
  3. 17 Jul, 2019 2 commits
  4. 08 Jul, 2019 1 commit
    • 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
  5. 15 Mar, 2019 1 commit
  6. 12 Jul, 2018 1 commit
  7. 19 Jun, 2018 1 commit
  8. 15 Mar, 2018 2 commits
  9. 13 Oct, 2017 1 commit
  10. 10 Jul, 2017 1 commit
  11. 06 Jul, 2016 3 commits
  12. 01 Jul, 2016 4 commits
  13. 30 Jun, 2016 1 commit
    • antirez's avatar
      In Redis RDB check: initial POC. · e97fadb0
      antirez authored
      So far we used an external program (later executed within Redis) and
      parser in order to check RDB files for correctness. This forces, at each
      RDB format update, to have two copies of the same format implementation
      that are hard to keep in sync. Morover the former RDB checker only
      checked the very high-level format of the file, without actually trying
      to load things in memory. Certain corruptions can only be handled by
      really loading key-value pairs.
      
      This first commit attempts to unify the Redis RDB loadig code with the
      task of checking the RDB file for correctness. More work is needed but
      it looks like a sounding direction so far.
      e97fadb0
  14. 05 Jun, 2016 1 commit
  15. 01 Jun, 2016 1 commit
  16. 27 Jul, 2015 1 commit
  17. 26 Jul, 2015 2 commits
  18. 03 Feb, 2015 1 commit
    • antirez's avatar
      Handle redis-check-rdb as a standalone program. · 7d1e1580
      antirez authored
      This also makes it backward compatible in the usage, but for the command
      name. However the old command name was less obvious so it is worth to
      break it probably.
      
      With the new setup the program main can perform argument parsing and
      everything else useful for an RDB check regardless of the Redis server
      itself.
      7d1e1580
  19. 30 Jan, 2015 1 commit
  20. 28 Jan, 2015 2 commits
    • Matt Stancliff's avatar
      Remove code duplication from check-rdb · 764b000c
      Matt Stancliff authored
      redis-check-rdb (previously redis-check-dump) had every RDB define
      copy/pasted from rdb.h and some defines copied from redis.h.  Since
      the initial copy, some constants had changed in Redis headers and
      check-dump was using incorrect values.
      
      Since check-rdb is now a mode of Redis, the old check-dump code
      is cleaned up to:
        - replace all printf with redisLog (and remove \n from all strings)
        - remove all copy/pasted defines to use defines from rdb.h and redis.h
        - replace all malloc/free with zmalloc/zfree
        - remove unnecessary include headers
      764b000c
    • Matt Stancliff's avatar
      Convert check-dump to Redis check-rdb mode · 145473ac
      Matt Stancliff authored
      redis-check-dump is now named redis-check-rdb and it runs
      as a mode of redis-server instead of an independent binary.
      
      You can now use 'redis-server redis.conf --check-rdb' to check
      the RDB defined in redis.conf.  Using argument --check-rdb
      checks the RDB and exits.  We could potentially also allow
      the server to continue starting if the RDB check succeeds.
      
      This change also enables us to use RDB checking programatically
      from inside Redis for certain failure conditions.
      145473ac
  21. 08 Aug, 2014 3 commits
  22. 07 Aug, 2014 1 commit
  23. 26 Jun, 2014 1 commit
  24. 05 Dec, 2013 1 commit
  25. 19 Jan, 2013 1 commit
  26. 29 Nov, 2012 1 commit
    • antirez's avatar
      Introduced the Build ID in INFO and --version output. · 2f62c966
      antirez authored
      The idea is to be able to identify a build in a unique way, so for
      instance after a bug report we can recognize that the build is the one
      of a popular Linux distribution and perform the debugging in the same
      environment.
      2f62c966
  27. 08 Nov, 2012 1 commit
  28. 22 Oct, 2012 1 commit
    • Schuster's avatar
      redis-check-dump now understands dumps produced by Redis 2.6 · e5f794ff
      Schuster authored
      (Commit message from @antirez as it was missign in the original commits,
      also the patch was modified a bit to still work with 2.4 dumps and to
      avoid if expressions that are always true due to checked types range)
      
      This commit changes redis-check-dump to account for new encodings and
      for the new MSTIME expire format. It also refactors the test for valid
      type into a function.
      
      The code is still compatible with Redis 2.4 generated dumps.
      
      This fixes issue #709.
      e5f794ff
  29. 24 Apr, 2012 1 commit