1. 17 Jan, 2018 1 commit
  2. 18 Dec, 2017 1 commit
  3. 06 Dec, 2017 1 commit
    • antirez's avatar
      Change indentation and other minor details of PR #4489. · 522760fa
      antirez authored
      The main change introduced by this commit is pretending that help
      arrays are more text than code, thus indenting them at level 0. This
      improves readability, and is an old practice when defining arrays of
      C strings describing text.
      
      Additionally a few useless return statements are removed, and the HELP
      subcommand capitalized when printed to the user.
      522760fa
  4. 05 Dec, 2017 1 commit
  5. 01 Dec, 2017 7 commits
  6. 30 Nov, 2017 2 commits
    • antirez's avatar
      Prevent corruption of server.executable after DEBUG RESTART. · 3b9be93f
      antirez authored
      Doing the following ended with a broken server.executable:
      
      1. Start Redis with src/redis-server
      2. Send CONFIG SET DIR /tmp/
      3. Send DEBUG RESTART
      
      At this point we called execve with an argv[0] that is no longer related
      to the new path. So after the restart the absolute path of the
      executable is recomputed in the wrong way. With this fix we pass the
      absolute path already computed as argv[0].
      3b9be93f
    • antirez's avatar
      Be more verbose when DEBUG RESTART fails. · d8f87010
      antirez authored
      d8f87010
  7. 28 Nov, 2017 2 commits
    • Itamar Haber's avatar
      Standardizes the 'help' subcommand · 59d52f7f
      Itamar Haber authored
      This adds a new `addReplyHelp` helper that's used by commands
      when returning a help text. The following commands have been
      touched: DEBUG, OBJECT, COMMAND, PUBSUB, SCRIPT and SLOWLOG.
      
      WIP
      
      Fix entry command table entry for OBJECT for HELP option.
      
      After #4472 the command may have just 2 arguments.
      
      Improve OBJECT HELP descriptions.
      
      See #4472.
      
      WIP 2
      
      WIP 3
      59d52f7f
    • Itamar Haber's avatar
      Standardizes arity handling of DEBUG · 8c7f90e9
      Itamar Haber authored
      8c7f90e9
  8. 27 Nov, 2017 1 commit
  9. 23 Nov, 2017 1 commit
  10. 21 Nov, 2017 1 commit
  11. 02 Nov, 2017 1 commit
  12. 19 Sep, 2017 1 commit
    • antirez's avatar
      PSYNC2: Fix the way replication info is saved/loaded from RDB. · c1c99e9f
      antirez authored
      This commit attempts to fix a number of bugs reported in #4316.
      They are related to the way replication info like replication ID,
      offsets, and currently selected DB in the master client, are stored
      and loaded by Redis. In order to avoid inconsistencies the changes in
      this commit try to enforce that:
      
      1. Replication information are only stored when the RDB file is
      generated by a slave that has a valid 'master' client, so that we can
      always extract the currently selected DB.
      2. When replication informations are persisted in the RDB file, all the
      info for a successful PSYNC or nothing is persisted.
      3. The RDB replication informations are only loaded if the instance is
      configured as a slave, otherwise a master can start with IDs that relate
      to a different history of the data set, and stil retain such IDs in the
      future while receiving unrelated writes.
      c1c99e9f
  13. 17 Sep, 2017 1 commit
    • Oran Agra's avatar
      Flush append only buffers before existing. · b122cadc
      Oran Agra authored
      when SHUTDOWN command is recived it is possible that some of the recent
      command were not yet flushed from the AOF buffer, and the server
      experiences data loss at shutdown.
      b122cadc
  14. 10 Jul, 2017 1 commit
  15. 05 Jul, 2017 1 commit
  16. 30 Jun, 2017 1 commit
    • antirez's avatar
      Added GEORADIUS(BYMEMBER)_RO variants for read-only operations. · f8547e53
      antirez authored
      Issue #4084 shows how for a design error, GEORADIUS is a write command
      because of the STORE option. Because of this it does not work
      on readonly slaves, gets redirected to masters in Redis Cluster even
      when the connection is in READONLY mode and so forth.
      
      To break backward compatibility at this stage, with Redis 4.0 to be in
      advanced RC state, is problematic for the user base. The API can be
      fixed into the unstable branch soon if we'll decide to do so in order to
      be more consistent, and reease Redis 5.0 with this incompatibility in
      the future. This is still unclear.
      
      However, the ability to scale GEO queries in slaves easily is too
      important so this commit adds two read-only variants to the GEORADIUS
      and GEORADIUSBYMEMBER command: GEORADIUS_RO and GEORADIUSBYMEMBER_RO.
      The commands are exactly as the original commands, but they do not
      accept the STORE and STOREDIST options.
      f8547e53
  17. 29 Jun, 2017 1 commit
  18. 23 Jun, 2017 1 commit
  19. 16 Jun, 2017 1 commit
  20. 15 Jun, 2017 1 commit
  21. 14 Jun, 2017 1 commit
  22. 19 May, 2017 1 commit
  23. 10 May, 2017 2 commits
    • antirez's avatar
      Modules TSC: use atomic var for server.unixtime. · 1f598fc2
      antirez authored
      This avoids Helgrind complaining, but we are actually not using
      atomicGet() to get the unixtime value for now: too many places where it
      is used and given tha time_t is word-sized it should be safe in all the
      archs we support as it is.
      
      On the other hand, Helgrind, when Redis is compiled with "make helgrind"
      in order to force the __sync macros, will detect the write in
      updateCachedTime() as a read (because atomic functions are used) and
      will not complain about races.
      
      This commit also includes minor refactoring of mutex initializations and
      a "helgrind" target in the Makefile.
      1f598fc2
    • antirez's avatar
      atomicvar.h: show used API in INFO. Add macro to force __sync builtin. · de786186
      antirez authored
      The __sync builtin can be correctly detected by Helgrind so to force it
      is useful for testing. The API in the INFO output can be useful for
      debugging after problems are reported.
      de786186
  24. 09 May, 2017 3 commits
  25. 03 May, 2017 1 commit
  26. 28 Apr, 2017 1 commit
  27. 21 Apr, 2017 1 commit
    • antirez's avatar
      Check event loop creation return value. Fix #3951. · 238cebdd
      antirez authored
      Normally we never check for OOM conditions inside Redis since the
      allocator will always return a pointer or abort the program on OOM
      conditons. However we cannot have control on epool_create(), that may
      fail for kernel OOM (according to the manual page) even if all the
      parameters are correct, so the function aeCreateEventLoop() may indeed
      return NULL and this condition must be checked.
      238cebdd
  28. 13 Apr, 2017 1 commit
  29. 11 Apr, 2017 1 commit