1. 20 Mar, 2024 1 commit
  2. 03 Jan, 2022 1 commit
  3. 30 Mar, 2021 1 commit
    • Viktor Söderqvist's avatar
      Add support for plaintext clients in TLS cluster (#8587) · 5629dbe7
      Viktor Söderqvist authored
      The cluster bus is established over TLS or non-TLS depending on the configuration tls-cluster. The client ports distributed in the cluster and sent to clients are assumed to be TLS or non-TLS also depending on tls-cluster.
      
      The cluster bus is now extended to also contain the non-TLS port of clients in a TLS cluster, when available. The non-TLS port of a cluster node, when available, is sent to clients connected without TLS in responses to CLUSTER SLOTS, CLUSTER NODES, CLUSTER SLAVES and MOVED and ASK redirects, instead of the TLS port.
      
      The user was able to override the client port by defining cluster-announce-port. Now cluster-announce-tls-port is added, so the user can define an alternative announce port for both TLS and non-TLS clients.
      
      Fixes #8134
      5629dbe7
  4. 29 Mar, 2021 1 commit
    • Sokolov Yura's avatar
      Add cluster slot migration tests (#8649) · 315df9ad
      Sokolov Yura authored
      
      
      Add tests for fixing migrating slot at all stages:
      
      1. when migration is half inited on "migrating" node
      2. when migration is half inited on "importing" node
      3. migration inited, but not finished
      4. migration is half finished on "migrating" node
      5. migration is half finished on "importing" node
      
      Also add tests for many simultaneous slot migrations.
      Co-authored-by: default avatarYossi Gottlieb <yossigo@gmail.com>
      315df9ad
  5. 11 Aug, 2020 1 commit
    • Tyson Andre's avatar
      Implement SMISMEMBER key member [member ...] (#7615) · 6f11acbd
      Tyson Andre authored
      
      
      This is a rebased version of #3078 originally by shaharmor
      with the following patches by TysonAndre made after rebasing
      to work with the updated C API:
      
      1. Add 2 more unit tests
         (wrong argument count error message, integer over 64 bits)
      2. Use addReplyArrayLen instead of addReplyMultiBulkLen.
      3. Undo changes to src/help.h - for the ZMSCORE PR,
         I heard those should instead be automatically
         generated from the redis-doc repo if it gets updated
      
      Motivations:
      
      - Example use case: Client code to efficiently check if each element of a set
        of 1000 items is a member of a set of 10 million items.
        (Similar to reasons for working on #7593)
      - HMGET and ZMSCORE already exist. This may lead to developers deciding
        to implement functionality that's best suited to a regular set with a
        data type of sorted set or hash map instead, for the multi-get support.
      
      Currently, multi commands or lua scripting to call sismember multiple times
      would almost definitely be less efficient than a native smismember
      for the following reasons:
      
      - Need to fetch the set from the string every time
        instead of reusing the C pointer.
      - Using pipelining or multi-commands would result in more bytes sent
        and received by the client for the repeated SISMEMBER KEY sections.
      - Need to specially encode the data and decode it from the client
        for lua-based solutions.
      - Proposed solutions using Lua or SADD/SDIFF could trigger writes to
        memory, which is undesirable on a redis replica server
        or when commands get replicated to replicas.
      Co-Authored-By: default avatarShahar Mor <shahar@peer5.com>
      Co-Authored-By: default avatarTyson Andre <tysonandre775@hotmail.com>
      6f11acbd
  6. 04 Aug, 2020 1 commit
    • Tyson Andre's avatar
      Add a ZMSCORE command returning an array of scores. (#7593) · f11f26cc
      Tyson Andre authored
      
      
      Syntax: `ZMSCORE KEY MEMBER [MEMBER ...]`
      
      This is an extension of #2359
      amended by Tyson Andre to work with the changed unstable API,
      add more tests, and consistently return an array.
      
      - It seemed as if it would be more likely to get reviewed
        after updating the implementation.
      
      Currently, multi commands or lua scripting to call zscore multiple times
      would almost definitely be less efficient than a native ZMSCORE
      for the following reasons:
      
      - Need to fetch the set from the string every time instead of reusing the C
        pointer.
      - Using pipelining or multi-commands would result in more bytes sent by
        the client for the repeated `ZMSCORE KEY` sections.
      - Need to specially encode the data and decode it from the client
        for lua-based solutions.
      - The fastest solution I've seen for large sets(thousands or millions)
        involves lua and a variadic ZADD, then a ZINTERSECT, then a ZRANGE 0 -1,
        then UNLINK of a temporary set (or lua). This is still inefficient.
      Co-authored-by: default avatarTyson Andre <tysonandre775@hotmail.com>
      f11f26cc
  7. 11 May, 2020 1 commit
  8. 07 Oct, 2019 1 commit
    • Yossi Gottlieb's avatar
      TLS: Connections refactoring and TLS support. · b087dd1d
      Yossi Gottlieb authored
      * Introduce a connection abstraction layer for all socket operations and
      integrate it across the code base.
      * Provide an optional TLS connections implementation based on OpenSSL.
      * Pull a newer version of hiredis with TLS support.
      * Tests, redis-cli updates for TLS support.
      b087dd1d
  9. 02 Feb, 2016 1 commit
  10. 09 Jan, 2015 1 commit
  11. 14 May, 2014 1 commit
  12. 13 May, 2014 1 commit
    • antirez's avatar
      cluster.tcl: saner error handling. · cdf2271c
      antirez authored
      Better handling of connection errors in order to update the table and
      recovery, populate the startup nodes table after fetching the list of
      nodes.
      
      More work to do about it, it is still not as reliable as
      redis-rb-cluster implementation which is the minimal reference
      implementation for Redis Cluster clients.
      cdf2271c
  13. 02 May, 2014 4 commits
  14. 30 Apr, 2014 2 commits