1. 16 Feb, 2021 1 commit
  2. 15 Feb, 2021 5 commits
  3. 14 Feb, 2021 1 commit
  4. 11 Feb, 2021 2 commits
  5. 10 Feb, 2021 2 commits
  6. 09 Feb, 2021 3 commits
  7. 08 Feb, 2021 5 commits
  8. 07 Feb, 2021 5 commits
  9. 05 Feb, 2021 3 commits
  10. 04 Feb, 2021 3 commits
  11. 03 Feb, 2021 1 commit
    • Yossi Gottlieb's avatar
      Fix FreeBSD tests and CI Daily issues. (#8438) · de6f3ad0
      Yossi Gottlieb authored
      * Add bash temporarily to allow sentinel fd leaks test to run.
      * Use vmactions-freebsd rdist sync to work around bind permission denied
        and slow execution issues.
      * Upgrade to tcl8.6 to be aligned with latest Ubuntu envs.
      * Concat all command executions to avoid ignoring failures.
      * Skip intensive fuzzer on FreeBSD. For some yet unknown reason, generate_fuzzy_traffic_on_key causes TCL to significantly bloat on FreeBSD resulting with out of memory.
      de6f3ad0
  12. 02 Feb, 2021 3 commits
    • Jonah H. Harris's avatar
      Optimizing sorted GEORADIUS COUNT with partial sorting. (#8326) · a3718cde
      Jonah H. Harris authored
      This commit provides an optimization, in terms of time, for all GEORADIUS*
      and GEOSEARCH* searches which utilize the default, sorted, COUNT clause.
      This is commonly used for nearest-neighbor (top-K points closest to a given lat/lon)
      searches. While the previous implementation appends all matching points to the
      geoPoint array and performs pruning after-the-fact via a full sort and [0, count)-based
      for-loop, this PR sorts only the required number of elements.
      
      This optimization provides a 5-20% improvement in runtime depending on the
      density of points of interest (POI) as well as the radius searched.
      No performance degradation has been observed.
      a3718cde
    • Huang Zw's avatar
      Cleanup: addReplyAggregateLen and addReplyBulkLen remove redundant check (#8431) · 9760475a
      Huang Zw authored
      addReplyLongLongWithPrefix, has a check against negative length, and the code
      flow removed in this commit bypasses the check.
      addReplyAggregateLen has an assertion for negative length, but addReplyBulkLen
      does not, so this commit fixes theoretical case of access violation (probably
      unreachable though)
      9760475a
    • zhaozhao.zz's avatar
      XINFO should use lookupKeyReadOrReply (#8436) · f2a5fe36
      zhaozhao.zz authored
      This bug would have let users observe logically expired keys on replicas and
      during CLIENT PAUSE WRITE.
      f2a5fe36
  13. 31 Jan, 2021 3 commits
  14. 30 Jan, 2021 1 commit
    • Wen Hui's avatar
      fix sentinel tests error (#8422) · eacccd2a
      Wen Hui authored
      This commit fixes sentinel announces hostnames test error in certain linux environment
      Before this commit, we only check localhost is resolved into 127.0.0.1, however in ubuntu
      or some other linux environments "localhost" will be resolved into ::1 ipv6 address first if
      the network stack is capable.
      eacccd2a
  15. 29 Jan, 2021 2 commits
    • filipe oliveira's avatar
      Enabled background and reply time tracking on blocked on keys/blocked on... · f0c5052a
      filipe oliveira authored
      Enabled background and reply time tracking on blocked on keys/blocked on background work clients (#7491)
      
      This commit enables tracking time of the background tasks and on replies,
      opening the door for properly tracking commands that rely on blocking / background
       work via the slowlog, latency history, and commandstats. 
      
      Some notes:
      - The time spent blocked waiting for key changes, or blocked on synchronous
        replication is not accounted for. 
      
      - **This commit does not affect latency tracking of commands that are non-blocking
        or do not have background work.** ( meaning that it all stays the same with exception to
        `BZPOPMIN`,`BZPOPMAX`,`BRPOP`,`BLPOP`, etc... and module's commands that rely
        on background threads ). 
      
      -  Specifically for latency history command we've added a new event class named
        `command-unblocking` that will enable latency monitoring on commands that spawn
        background threads to do the work.
      
      - For blocking commands we're now considering the total time of a command as the
        time spent on call() + the time spent on replying when unblocked.
      
      - For Modules commands that rely on background threads we're now considering the
        total time of a command as the time spent on call (main thread) + the time spent on
        the background thread ( if marked within `RedisModule_MeasureTimeStart()` and
        `RedisModule_MeasureTimeEnd()` ) + the time spent on replying (main thread)
      
      To test for this feature we've added a `unit/moduleapi/blockonbackground` test that relies on
      a module that blocks the client and sleeps on the background for a given time. 
      - check blocked command that uses RedisModule_MeasureTimeStart() is tracking background time
      - check blocked command that uses RedisModule_MeasureTimeStart() is tracking background time even in timeout
      - check blocked command with multiple calls RedisModule_MeasureTimeStart()  is tracking the total background time
      - check blocked command without calling RedisModule_MeasureTimeStart() is not reporting background time
      f0c5052a
    • Yang Bodong's avatar
      Add HRANDFIELD and ZRANDMEMBER. improvements to SRANDMEMBER (#8297) · b9a0500f
      Yang Bodong authored
      
      
      New commands:
      `HRANDFIELD [<count> [WITHVALUES]]`
      `ZRANDMEMBER [<count> [WITHSCORES]]`
      Algorithms are similar to the one in SRANDMEMBER.
      
      Both return a simple bulk response when no arguments are given, and an array otherwise.
      In case values/scores are requested, RESP2 returns a long array, and RESP3 a nested array.
      note: in all 3 commands, the only option that also provides random order is the one with negative count.
      
      Changes to SRANDMEMBER
      * Optimization when count is 1, we can use the more efficient algorithm of non-unique random
      * optimization: work with sds strings rather than robj
      
      Other changes:
      * zzlGetScore: when zset needs to convert string to double, we use safer memcpy (in
        case the buffer is too small)
      * Solve a "bug" in SRANDMEMBER test: it intended to test a positive count (case 3 or
        case 4) and by accident used a negative count
      Co-authored-by: default avatarxinluton <xinluton@qq.com>
      Co-authored-by: default avatarOran Agra <oran@redislabs.com>
      b9a0500f