1. 04 2月, 2020 7 次提交
  2. 17 1月, 2020 13 次提交
  3. 10 1月, 2020 11 次提交
    • S
      Rename rdb asynchronously · 7bbafc56
      ShooterIT 提交于
      7bbafc56
    • L
    • J
      Update to directive in redis.conf (missing s) · ed7ea13a
      Jamie Scott 提交于
      The directive tls-prefer-server-cipher is actually tls-prefer-server-ciphers in config.c. This results in a failed directive call shown below. This pull request adds the "s" in ciphers so that the directive is able to be properly called in config.c
      
      ubuntu@ip-172-31-16-31:~/redis$ src/redis-server ./redis.conf 
      
      *** FATAL CONFIG FILE ERROR ***
      Reading the configuration file, at line 200
      >>> 'tls-prefer-server-cipher yes'
      Bad directive or wrong number of arguments
      ed7ea13a
    • A
      Free fakeclient argv on AOF error. · 3be77623
      antirez 提交于
      We exit later, so no bug fixed, but it is more correct.
      
      See #6054, thanks to @ShooterIT for finding the issue.
      3be77623
    • A
      Git ignore: ignore more files. · 15f6b748
      antirez 提交于
      15f6b748
    • G
      Blocking XREAD[GROUP] should always reply with valid data (or timeout) · 1b5bf40c
      Guy Benoish 提交于
      This commit solves the following bug:
      127.0.0.1:6379> XGROUP CREATE x grp $ MKSTREAM
      OK
      127.0.0.1:6379> XADD x 666 f v
      "666-0"
      127.0.0.1:6379> XREADGROUP GROUP grp Alice BLOCK 0 STREAMS x >
      1) 1) "x"
         2) 1) 1) "666-0"
               2) 1) "f"
                  2) "v"
      127.0.0.1:6379> XADD x 667 f v
      "667-0"
      127.0.0.1:6379> XDEL x 667
      (integer) 1
      127.0.0.1:6379> XREADGROUP GROUP grp Alice BLOCK 0 STREAMS x >
      1) 1) "x"
         2) (empty array)
      
      The root cause is that we use s->last_id in streamCompareID
      while we should use the last *valid* ID
      1b5bf40c
    • J
      Add support for incremental build with header files · 954c20ed
      John Sully 提交于
      954c20ed
    • W
      Fix petential cluster link error. · 11c3afd7
      WuYunlong 提交于
      Funcion adjustOpenFilesLimit() has an implicit parameter, which is server.maxclients.
      This function aims to ajust maximum file descriptor number according to server.maxclients
      by best effort, which is "bestlimit" could be lower than "maxfiles" but greater than "oldlimit".
      When we try to increase "maxclients" using CONFIG SET command, we could increase maximum
      file descriptor number to a bigger value without calling aeResizeSetSize the same time.
      When later more and more clients connect to server, the allocated fd could be bigger and bigger,
      and eventually exceeds events size of aeEventLoop.events. When new nodes joins the cluster,
      new link is created, together with new fd, but when calling aeCreateFileEvent, we did not
      check the return value. In this case, we have a non-null "link" but the associated fd is not
      registered.
      
      So when we dynamically set "maxclients" we could reach an inconsistency between maximum file
      descriptor number of the process and server.maxclients. And later could cause cluster link and link
      fd inconsistency.
      
      While setting "maxclients" dynamically, we consider it as failed when resulting "maxclients" is not
      the same as expected. We try to restore back the maximum file descriptor number when we failed to set
      "maxclients" to the specified value, so that server.maxclients could act as a guard as before.
      11c3afd7
    • Y
      Add REDISMODULE_CTX_FLAGS_MULTI_DIRTY. · b752e83d
      Yossi Gottlieb 提交于
      b752e83d
    • H
      typo fix in acl.c · e16eb874
      hwware 提交于
      e16eb874
    • I
      Adjusts 'io_threads_num' max to 128 · 35ea9d23
      Itamar Haber 提交于
      Instead of 512, use the defined max from networking.c
      35ea9d23
  4. 08 1月, 2020 2 次提交
  5. 02 1月, 2020 1 次提交
    • A
      Fix active expire division by zero. · 5e7e5e6b
      antirez 提交于
      Likely fix #6723.
      
      This is what happens AFAIK: we enter the main loop where we expire stuff
      until a given percentage of keys is still found to be logically expired.
      There are however other potential exit conditions.
      
      However the "sampled" variable is not always incremented inside the
      loop, because we may found no valid slot as we scan the hash table, but
      just NULLs ad dict entries. So when the do/while loop condition is
      triggered at the end, we do (expired*100/sampled), dividing by zero if
      we sampled 0 keys.
      5e7e5e6b
  6. 29 12月, 2019 5 次提交
    • A
      Fix duplicated CLIENT SETNAME reply. · e61dde88
      antirez 提交于
      Happened when we set the name to "" to cancel the name.
      Was introduced during the RESP3 refactoring.
      
      See #6036.
      e61dde88
    • G
      Stream: Handle streamID-related edge cases · cddf1da2
      Guy Benoish 提交于
      This commit solves several edge cases that are related to
      exhausting the streamID limits: We should correctly calculate
      the succeeding streamID instead of blindly incrementing 'seq'
      This affects both XREAD and XADD.
      
      Other (unrelated) changes:
      Reply with a better error message when trying to add an entry
      to a stream that has exhausted last_id
      cddf1da2
    • O
      config.c adjust config limits and mutable · 52ea44e5
      Oran Agra 提交于
      - make lua-replicate-commands mutable (it never was, but i don't see why)
      - make tcp-backlog immutable (fix a recent refactory mistake)
      - increase the max limit of a few configs to match what they were before
      the recent refactory
      52ea44e5
    • A
      Inline protocol: handle empty strings well. · 0f28ea16
      antirez 提交于
      This bug is from the first version of Redis. Probably the problem here
      is that before we used an SDS split function that created empty strings
      for additional spaces, like in "SET    foo          bar".
      AFAIK later we replaced it with the curretn sdssplitarg() API that has
      no such a problem. As a result, we introduced a bug, where it is no
      longer possible to do something like:
      
          SET foo ""
      
      Using the inline protocol. Now it is fixed.
      0f28ea16
    • A
      Fix ip and missing mode in RM_GetClusterNodeInfo(). · 00e5fefe
      antirez 提交于
      00e5fefe
  7. 20 12月, 2019 1 次提交