1. 14 May, 2020 5 commits
    • Oran Agra's avatar
      fix redis 6.0 not freeing closed connections during loading. · 9da134cd
      Oran Agra authored
      This bug was introduced by a recent change in which readQueryFromClient
      is using freeClientAsync, and despite the fact that now
      freeClientsInAsyncFreeQueue is in beforeSleep, that's not enough since
      it's not called during loading in processEventsWhileBlocked.
      furthermore, afterSleep was called in that case but beforeSleep wasn't.
      
      This bug also caused slowness sine the level-triggered mode of epoll
      kept signaling these connections as readable causing us to keep doing
      connRead again and again for ll of these, which keep accumulating.
      
      now both before and after sleep are called, but not all of their actions
      are performed during loading, some are only reserved for the main loop.
      
      fixes issue #7215
      9da134cd
    • antirez's avatar
      Regression test for #7249. · f7f219a1
      antirez authored
      f7f219a1
    • antirez's avatar
      rax.c updated from upstream antirez/rax. · 69362958
      antirez authored
      69362958
    • antirez's avatar
      Tracking: send eviction messages when evicting entries. · e3b5648d
      antirez authored
      A fix for #7249.
      e3b5648d
    • Oran Agra's avatar
      fix unstable replication test · 5c41802d
      Oran Agra authored
      this test which has coverage for varoius flows of diskless master was
      failing randomly from time to time.
      
      the failure was:
      [err]: diskless all replicas drop during rdb pipe in tests/integration/replication.tcl
      log message of '*Diskless rdb transfer, last replica dropped, killing fork child*' not found
      
      what seemed to have happened is that the master didn't detect that all
      replicas dropped by the time the replication ended, it thought that one
      replica is still connected.
      
      now the test takes a few seconds longer but it seems stable.
      5c41802d
  2. 09 May, 2020 4 commits
    • ShooterIT's avatar
      a23cdbb9
    • antirez's avatar
      Cluster: clarify we always resolve the sender. · 1276058e
      antirez authored
      1276058e
    • antirez's avatar
      Cluster: refactor ping/data delay handling. · 002fcde3
      antirez authored
      002fcde3
    • antirez's avatar
      Cluster: introduce data_received field. · 960186a7
      antirez authored
      We want to send pings and pongs at specific intervals, since our packets
      also contain information about the configuration of the cluster and are
      used for gossip. However since our cluster bus is used in a mixed way
      for data (such as Pub/Sub or modules cluster messages) and metadata,
      sometimes a very busy channel may delay the reception of pong packets.
      So after discussing it in #7216, this commit introduces a new field that
      is not exposed in the cluster, is only an internal information about
      the last time we received any data from a given node: we use this field
      in order to avoid detecting failures, claiming data reception of new
      data from the node is a proof of liveness.
      960186a7
  3. 08 May, 2020 21 commits
  4. 01 May, 2020 4 commits
  5. 30 Apr, 2020 6 commits