1. 12 Mar, 2018 1 commit
    • Oran Agra's avatar
      active defrag v2 · be1b4aa9
      Oran Agra authored
      - big keys are not defragged in one go from within the dict scan
        instead they are scanned in parts after the main dict hash bucket is done.
      - add latency monitor sample for defrag
      - change default active-defrag-cycle-min to induce lower latency
      - make active defrag start a new scan right away if needed, so it's easier
        (for the test suite) to detect when it's done
      - make active defrag quick the current cycle after each db / big key
      - defrag  some non key long term global allocations
      - some refactoring for smaller functions and more reusable code
      - during dict rehashing, one scan iteration of the dict, can end up scanning
        one bucket in the smaller dict and many many buckets in the larger dict.
        so waiting for 16 scan iterations before checking the time, may be much too long.
      be1b4aa9
  2. 15 Feb, 2018 3 commits
  3. 14 Feb, 2018 10 commits
  4. 13 Feb, 2018 9 commits
  5. 02 Feb, 2018 1 commit
  6. 24 Jan, 2018 3 commits
  7. 23 Jan, 2018 1 commit
  8. 18 Jan, 2018 3 commits
    • antirez's avatar
      727dd436
    • Guy Benoish's avatar
      Replication buffer fills up on high rate traffic. · fd8efb7c
      Guy Benoish authored
      When feeding the master with a high rate traffic the the slave's feed is much slower.
      This causes the replication buffer to grow (indefinitely) which leads to slave disconnection.
      The problem is that writeToClient() decides to stop writing after NET_MAX_WRITES_PER_EVENT
      writes (In order to be fair to clients).
      We should ignore this when the client is a slave.
      It's better if clients wait longer, the alternative is that the slave has no chance to stay in
      sync in this situation.
      fd8efb7c
    • antirez's avatar
      Cluster: improve anti-affinity algo in redis-trib.rb. · 1673a3f3
      antirez authored
      See #3462 and related PRs.
      
      We use a simple algorithm to calculate the level of affinity violation,
      and then an optimizer that performs random swaps until things improve.
      1673a3f3
  9. 17 Jan, 2018 4 commits
  10. 16 Jan, 2018 4 commits
  11. 15 Jan, 2018 1 commit