1. 11 Dec, 2018 2 commits
    • Chris Lamb's avatar
      Clarify the "Creating Server TCP listening socket" error. · bc53a3ab
      Chris Lamb authored
      This really helps spot it in the logs, otherwise it does not look like a
      warning/error. For example:
      
        Creating Server TCP listening socket ::1:6379: bind: Cannot assign requested address
      
      ... is not nearly as clear as:
      
        Could not create server TCP listening listening socket ::1:6379: bind: Cannot assign requested address
      bc53a3ab
    • Chris Lamb's avatar
      Don't treat unsupported protocols as fatal errors · fefe5460
      Chris Lamb authored
      If we encounter an unsupported protocol in the "bind" list, don't
      ipso-facto consider it a fatal error. We continue to abort startup if
      there are no listening sockets at all.
      
      This ensures that the lack of IPv6 support does not prevent Redis from
      starting on Debian where we try to bind to the ::1 interface by default
      (via "bind 127.0.0.1 ::1"). A machine with IPv6 disabled (such as some
      container systems) would simply fail to start Redis after the initiall
      call to apt(8).
      
      This is similar to the case for where "bind" is not specified:
      
        https://github.com/antirez/redis/issues/3894
      
      ... and was based on the corresponding PR:
      
        https://github.com/antirez/redis/pull/4108
      
      ... but also adds EADDRNOTAVAIL to the list of errors to catch which I
      believe is missing from there.
      
      This issue was raised in Debian as both <https://bugs.debian.org/900284>
      & <https://bugs.debian.org/914354>.
      fefe5460
  2. 07 Nov, 2018 1 commit
    • valentino's avatar
      fix short period of server.hz being uninitialized · 88805cbb
      valentino authored
      server.hz was uninitialized between initServerConfig and initServer.
      this can lead to someone (e.g. queued modules) doing createObject,
      and accessing an uninitialized variable, that can potentially be 0,
      and lead to a crash.
      88805cbb
  3. 05 Nov, 2018 2 commits
  4. 17 Oct, 2018 3 commits
  5. 15 Oct, 2018 1 commit
  6. 03 Oct, 2018 6 commits
  7. 14 Sep, 2018 4 commits
  8. 05 Sep, 2018 2 commits
  9. 04 Sep, 2018 2 commits
    • antirez's avatar
      While the slave is busy, just accumulate master input. · c2b104c7
      antirez authored
      Processing command from the master while the slave is in busy state is
      not correct, however we cannot, also, just reply -BUSY to the
      replication stream commands from the master. The correct solution is to
      stop processing data from the master, but just accumulate the stream
      into the buffers and resume the processing later.
      
      Related to #5297.
      c2b104c7
    • antirez's avatar
      Allow scripts to timeout on slaves as well. · adc4e031
      antirez authored
      See reasoning in #5297.
      adc4e031
  10. 29 Aug, 2018 6 commits
  11. 02 Aug, 2018 4 commits
  12. 30 Jul, 2018 4 commits
  13. 25 Jul, 2018 1 commit
  14. 23 Jul, 2018 1 commit
    • Itamar Haber's avatar
      Adds memory information about the script's cache to INFO · faf3dbfc
      Itamar Haber authored
      Implementation notes: as INFO is "already broken", I didn't want to break it further. Instead of computing the server.lua_script dict size on every call, I'm keeping a running sum of the body's length and dict overheads.
      
      This implementation is naive as it **does not** take into consideration dict rehashing, but that inaccuracy pays off in speed ;)
      
      Demo time:
      
      ```bash
      $ redis-cli info memory | grep "script"
      used_memory_scripts:96
      used_memory_scripts_human:96B
      number_of_cached_scripts:0
      $ redis-cli eval "" 0 ; redis-cli info memory | grep "script"
      (nil)
      used_memory_scripts:120
      used_memory_scripts_human:120B
      number_of_cached_scripts:1
      $ redis-cli script flush ; redis-cli info memory | grep "script"
      OK
      used_memory_scripts:96
      used_memory_scripts_human:96B
      number_of_cached_scripts:0
      $ redis-cli eval "return('Hello, Script Cache :)')" 0 ; redis-cli info memory | grep "script"
      "Hello, Script Cache :)"
      used_memory_scripts:152
      used_memory_scripts_human:152B
      number_of_cached_scripts:1
      $ redis-cli eval "return redis.sha1hex(\"return('Hello, Script Cache :)')\")" 0 ; redis-cli info memory | grep "script"
      "1be72729d43da5114929c1260a749073732dc822"
      used_memory_scripts:232
      used_memory_scripts_human:232B
      number_of_cached_scripts:2
       19:03:54 redis [lua_scripts-in-info-memory L ✚…⚑] $ redis-cli evalsha 1be72729d43da5114929c1260a749073732dc822 0
      "Hello, Script Cache :)"
      ```
      faf3dbfc
  15. 20 Jul, 2018 1 commit