1. 03 Mar, 2021 2 commits
  2. 02 Mar, 2021 2 commits
  3. 01 Mar, 2021 6 commits
  4. 28 Feb, 2021 3 commits
    • Pavlo Yatsukhnenko's avatar
      Fix div by 0 in redis-cli cluster creation (#8553) · 18ff8cd1
      Pavlo Yatsukhnenko authored
      This could happen on an invalid use, when trying to create a cluster with
      a single node and provide it's address 3 time to satisfy redis-cli requirements.
      18ff8cd1
    • Bonsai's avatar
      Module API for getting user name of a client (#8508) · 17c226b0
      Bonsai authored
      Adding RM_GetClientUserNameById to get the ACL user name of a client connection.
      17c226b0
    • Viktor Söderqvist's avatar
      Shared reusable client for RM_Call() (#8516) · 6122f1c4
      Viktor Söderqvist authored
      A single client pointer is added in the server struct. This is
      initialized by the first RM_Call() and reused for every subsequent
      RM_Call() except if it's already in use, which means that it's not
      used for (recursive) module calls to modules. For these, a new
      "fake" client is created each time.
      
      Other changes:
      * Avoid allocating a dict iterator in pubsubUnsubscribeAllChannels
        when not needed
      6122f1c4
  5. 26 Feb, 2021 1 commit
  6. 25 Feb, 2021 2 commits
  7. 24 Feb, 2021 8 commits
  8. 23 Feb, 2021 3 commits
    • guybe7's avatar
      Fix race in CONFIG REWRITE sanity (#8536) · f745c018
      guybe7 authored
      server may still be LOADING the RDB when receiving the ping
      f745c018
    • Yossi Gottlieb's avatar
      Fix compile errors with no HAVE_MALLOC_SIZE. (#8533) · dd885780
      Yossi Gottlieb authored
      Also adds a new daily CI test, relying on the fact that we don't use malloc_size() on alpine libmusl.
      
      Fixes #8531
      dd885780
    • Yossi Gottlieb's avatar
      Fix failed tests on Linux Alpine and add a CI job. (#8532) · 95ea7454
      Yossi Gottlieb authored
      * Remove linux/version.h dependency.
      
      This introduces unnecessary dependencies, and generally not a good idea
      as the platform we build on may be different than the platform we run
      on.
      
      To determine if sync_file_range exists we can simply rely on header file
      hints.
      
      * Fix setproctitle() on libmusl.
      
      The previous ifdef checks were a bit too strict for no apparent
      reason.
      
      * Fix tests failure on Linux with no backtrace.
      
      * Add alpine daily CI job.
      95ea7454
  9. 22 Feb, 2021 6 commits
  10. 21 Feb, 2021 3 commits
    • Yossi Gottlieb's avatar
      Fix allowed length for REPLCONF ip-address. (#8517) · d828f90c
      Yossi Gottlieb authored
      Originally this was limited to IPv6 address length, but effectively it
      has been used for host names and now that Sentinel accepts that as well
      we need to be able to store full hostnames.
      
      Fixes #8507
      d828f90c
    • Huang Zw's avatar
      Client tracking tracking-redir-broken push len is 2 not 3 (#8456) · f687ac0c
      Huang Zw authored
      When redis responds with tracking-redir-broken push message (RESP3),
      it was responding with a broken protocol: an array of 3 elements, but only
      pushes 2 elements.
      
      Some bugs in the test make this pass. Read the push reply
      will consume an extra reply, because the reply length is 3, but there
      are only two elements, so the next reply will be treated as third
      element. So the test is corrected too.
      
      Other changes:
      * checkPrefixCollisionsOrReply success should return 1 instead of -1,
        this bug didn't have any implications.
      * improve client tracking tests to validate more of the response it reads.
      f687ac0c
    • Gnanesh's avatar
      EXPIRE, EXPIREAT, SETEX, GETEX: Return error when expire time overflows (#8287) · 0772098b
      Gnanesh authored
      
      
      Respond with error if expire time overflows from positive to negative of vice versa.
      
      * `SETEX`, `SET EX`, `GETEX` etc would have already error on negative value,
      but now they would also error on overflows (i.e. when the input was positive but
      after the manipulation it becomes negative, which would have passed before)
      * `EXPIRE` and `EXPIREAT` was ok taking negative values (would implicitly delete
      the key), we keep that, but we do error if the user provided a value that changes
      sign when manipulated (except the case of changing sign when `basetime` is added)
      Signed-off-by: default avatarGnanesh <gnaneshkunal@outlook.com>
      Co-authored-by: default avatarOran Agra <oran@redislabs.com>
      0772098b
  11. 20 Feb, 2021 1 commit
    • Jim Brunner's avatar
      dict: pause rehash, minor readability refactor (#8515) · 06966d2a
      Jim Brunner authored
      The `dict` field `iterators` is misleading and incorrect. 
      This variable is used for 1 purpose - to pause rehashing.
      
      The current `iterators` field doesn't actually count "iterators".
      It counts "safe iterators".  But - it doesn't actually count safe iterators
      either.  For one, it's only incremented once the safe iterator begins to
      iterate, not when it's created.  It's also incremented in `dictScan` to
      prevent rehashing (and commented to make it clear why `iterators` is
      being incremented during a scan).
      
      This update renames the field as `pauserehash` and creates 2 helper
      macros `dictPauseRehashing(d)` and `dictResumeRehashing(d)`
      06966d2a
  12. 19 Feb, 2021 1 commit
  13. 17 Feb, 2021 2 commits