1. 08 Jul, 2019 1 commit
    • Oran Agra's avatar
      diskless replication on slave side (don't store rdb to file), plus some other related fixes · 2de544cf
      Oran Agra authored
      The implementation of the diskless replication was currently diskless only on the master side.
      The slave side was still storing the received rdb file to the disk before loading it back in and parsing it.
      
      This commit adds two modes to load rdb directly from socket:
      1) when-empty
      2) using "swapdb"
      the third mode of using diskless slave by flushdb is risky and currently not included.
      
      other changes:
      --------------
      distinguish between aof configuration and state so that we can re-enable aof only when sync eventually
      succeeds (and not when exiting from readSyncBulkPayload after a failed attempt)
      also a CONFIG GET and INFO during rdb loading would have lied
      
      When loading rdb from the network, don't kill the server on short read (that can be a network error)
      
      Fix rdb check when performed on preamble AOF
      
      tests:
      run replication tests for diskless slave too
      make replication test a bit more aggressive
      Add test for diskless load swapdb
      2de544cf
  2. 05 May, 2019 1 commit
    • Oran Agra's avatar
      make replication tests more stable on slow machines · ba809f26
      Oran Agra authored
      solving few replication related tests race conditions which fail on slow machines
      
      bugfix in slave buffers test: since the test is executed twice, each time with
      a different commands count, the threshold for the delta can't be a constant.
      ba809f26
  3. 12 Dec, 2018 1 commit
  4. 11 Sep, 2018 1 commit
  5. 31 Aug, 2018 1 commit
  6. 31 Jul, 2018 1 commit
  7. 03 Jul, 2018 1 commit
  8. 27 Jun, 2018 2 commits
  9. 19 Jun, 2018 1 commit
  10. 15 May, 2018 2 commits
  11. 25 Mar, 2018 1 commit
  12. 24 Jan, 2018 1 commit
  13. 04 Dec, 2017 1 commit
  14. 30 Nov, 2017 1 commit
  15. 28 Apr, 2017 2 commits
  16. 14 Apr, 2017 1 commit
  17. 22 Feb, 2017 2 commits
    • antirez's avatar
      Solaris fixes about tail usage and atomic vars. · 95883313
      antirez authored
      Testing with Solaris C compiler (SunOS 5.11 11.2 sun4v sparc sun4v)
      there were issues compiling due to atomicvar.h and running the
      tests also failed because of "tail" usage not conform with Solaris
      tail implementation. This commit fixes both the issues.
      95883313
    • antirez's avatar
      Test: replication-psync, wait more to detect write load. · 2b36706a
      antirez authored
      Slow systems like the original Raspberry PI need more time
      than 5 seconds to start the script and detect writes.
      After fixing the Raspberry PI can pass the unit without issues.
      2b36706a
  18. 13 Dec, 2016 1 commit
  19. 29 Nov, 2016 3 commits
  20. 28 Nov, 2016 2 commits
    • antirez's avatar
      PSYNC2: stop sending newlines to sub-slaves when master is down. · eab865a0
      antirez authored
      This actually includes two changes:
      
      1) No newlines to take the master-slave link up when the upstream master
      is down. Doing this is dangerous because the sub-slave often is received
      replication protocol for an half-command, so can't receive newlines
      without desyncing the replication link, even with the code in order to
      cancel out the bytes that PSYNC2 was using. Moreover this is probably
      also not needed/sane, because anyway the slave can keep serving
      requests, and because if it's configured to don't serve stale data, it's
      a good idea, actually, to break the link.
      
      2) When a +CONTINUE with a different ID is received, we now break
      connection with the sub-slaves: they need to be notified as well. This
      was part of the original specification but for some reason it was not
      implemented in the code, and was alter found as a PSYNC2 bug in the
      integration testing.
      eab865a0
    • antirez's avatar
      PSYNC2: Test (WIP). · 16559a02
      antirez authored
      This is the PSYNC2 test that helped find issues in the code, and that
      still can show a protocol desync from time to time. Work is in progress
      in order to find the issue. For now the test is not enabled in "make
      test" and must be run manually.
      16559a02
  21. 04 Jul, 2016 1 commit
  22. 15 Oct, 2015 1 commit
  23. 05 Aug, 2015 2 commits
  24. 04 Aug, 2015 1 commit
  25. 27 Mar, 2015 1 commit
  26. 13 Mar, 2015 1 commit
  27. 11 Feb, 2015 2 commits
  28. 10 Feb, 2015 1 commit
  29. 04 Feb, 2015 1 commit
  30. 14 Dec, 2014 1 commit
    • Alon Diamant's avatar
      Added <count> parameter to SPOP: · 28802887
      Alon Diamant authored
      spopCommand() now runs spopWithCountCommand() in case the <count> param is found.
      Added intsetRandomMembers() to Intset: Copies N random members from the set into inputted 'values' array. Uses either the Knuth or Floyd sample algos depending on ratio count/size.
      Added setTypeRandomElements() to SET type: Returns a number of random elements from a non empty set. This is a version of setTypeRandomElement() that is modified in order to return multiple entries, using dictGetRandomKeys() and intsetRandomMembers().
      Added tests for SPOP with <count>: unit/type/set, unit/scripting, integration/aof
      --
      Cleaned up code a bit to match with required Redis coding style
      28802887
  31. 24 Nov, 2014 1 commit