1. 10 Sep, 2020 3 commits
    • Oran Agra's avatar
      Improve valgrind support for cluster tests (#7725) · d410dc31
      Oran Agra authored
      - redirect valgrind reports to a dedicated file rather than console
      - try to avoid killing instances with SIGKILL so that we get the memory
        leak report (killing with SIGTERM before resorting to SIGKILL)
      - search for valgrind reports when done, print them and fail the tests
      - add --dont-clean option to keep the logs on exit
      - fix exit error code when crash is found (would have exited with 0)
      
      changes that affect the normal redis test suite:
      - refactor check_valgrind_errors into two functions one to search and
        one to report
      - move the search half into util.tcl to serve the cluster tests too
      - ignore "address range perms" valgrind warnings which seem non relevant.
      
      (cherry picked from commit 2b998de4)
      d410dc31
    • Oran Agra's avatar
      test infra - wait_done_loading · db6c763d
      Oran Agra authored
      reduce code duplication in aof.tcl.
      move creation of clients into the test so that it can be skipped
      
      (cherry picked from commit 1b7ba44e)
      db6c763d
    • Oran Agra's avatar
      test infra - write test name to logfile · bce350c6
      Oran Agra authored
      (cherry picked from commit 9d527d07)
      bce350c6
  2. 01 Sep, 2020 2 commits
    • Oran Agra's avatar
      Fix failing tests due to issues with wait_for_log_message (#7572) · 67750ce3
      Oran Agra authored
      - the test now waits for specific set of log messages rather than wait for
        timeout looking for just one message.
      - we don't wanna sample the current length of the log after an action, due
        to a race, we need to start the search from the line number of the last
        message we where waiting for.
      - when attempting to trigger a full sync, use multi-exec to avoid a race
        where the replica manages to re-connect before we completed the set of
        actions that should force a full sync.
      - fix verify_log_message which was broken and unused
      
      (cherry picked from commit 109b5ccd)
      67750ce3
    • Remi Collet's avatar
      Fix deprecated tail syntax in tests (#7543) · af907e4b
      Remi Collet authored
      
      (cherry picked from commit 3f2fbc4c)
      af907e4b
  3. 20 Jul, 2020 1 commit
    • Oran Agra's avatar
      stabilize tests that look for log lines (#7367) · 2b5f2319
      Oran Agra authored
      tests were sensitive to additional log lines appearing in the log
      causing the search to come empty handed.
      
      instead of just looking for the n last log lines, capture the log lines
      before performing the action, and then search from that offset.
      
      (cherry picked from commit 8e76e134)
      2b5f2319
  4. 28 May, 2020 2 commits
    • Oran Agra's avatar
      tests: find_available_port start search from next port · 1aee695e
      Oran Agra authored
      i.e. don't start the search from scratch hitting the used ones again.
      this will also reduce the likelihood of collisions (if there are any
      left) by increasing the time until we re-use a port we did use in the
      past.
      1aee695e
    • Oran Agra's avatar
      tests: each test client work on a distinct port range · a2ae4635
      Oran Agra authored
      apparently when running tests in parallel (the default of --clients 16),
      there's a chance for two tests to use the same port.
      specifically, one test might shutdown a master and still have the
      replica up, and then another test will re-use the port number of master
      for another master, and then that replica will connect to the master of
      the other test.
      
      this can cause a master to count too many full syncs and fail a test if
      we run the tests with --single integration/psync2 --loop --stop
      
      see Probmem 2 in #7314
      a2ae4635
  5. 07 Oct, 2019 1 commit
    • Yossi Gottlieb's avatar
      TLS: Connections refactoring and TLS support. · b087dd1d
      Yossi Gottlieb authored
      * Introduce a connection abstraction layer for all socket operations and
      integrate it across the code base.
      * Provide an optional TLS connections implementation based on OpenSSL.
      * Pull a newer version of hiredis with TLS support.
      * Tests, redis-cli updates for TLS support.
      b087dd1d
  6. 17 Jul, 2019 1 commit
    • Oran Agra's avatar
      prevent diskless replica from terminating on short read · c56b4ddc
      Oran Agra authored
      now that replica can read rdb directly from the socket, it should avoid exiting
      on short read and instead try to re-sync.
      
      this commit tries to have minimal effects on non-diskless rdb reading.
      and includes a test that tries to trigger this scenario on various read cases.
      c56b4ddc
  7. 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
  8. 12 Nov, 2018 1 commit
  9. 13 Jul, 2018 2 commits
  10. 05 Aug, 2015 1 commit
  11. 25 Aug, 2014 1 commit
  12. 10 Jul, 2014 1 commit
  13. 30 Jun, 2014 1 commit
  14. 17 Feb, 2014 2 commits
  15. 25 Jun, 2013 1 commit
  16. 11 Jun, 2012 1 commit
  17. 02 Jun, 2012 1 commit
    • antirez's avatar
      EVAL replication test: less false positives. · 80e808b6
      antirez authored
      wait_for_condition is now used instead of the usual "after 1000" (that
      is the way to sleep in Tcl). This should avoid to find the replica in
      a state where it is loading the RDB in memory, returning -LOADING error.
      
      This test used to fail when running the test over valgrind, due to the
      added latencies.
      80e808b6
  18. 25 May, 2012 1 commit
  19. 22 May, 2012 1 commit
    • antirez's avatar
      Redis test: include bug report on crash. · 2bcd18a2
      antirez authored
      Due to a change in the format of the bug report in case of crash of
      failed assertion the test suite was no longer able to properly log it.
      Instead just a protocol error was logged by the Redis TCL client that
      provided no clue about the actual problem.
      
      This commit resolves the issue by logging everything from the first line
      of the log including the string REDIS BUG REPORT, till the end of the
      file.
      2bcd18a2
  20. 16 Nov, 2011 1 commit
  21. 10 Dec, 2010 1 commit
  22. 04 Nov, 2010 1 commit
  23. 03 Aug, 2010 1 commit
  24. 28 Jul, 2010 1 commit
  25. 27 Jul, 2010 1 commit
  26. 06 Jul, 2010 1 commit
  27. 19 May, 2010 1 commit
  28. 15 May, 2010 1 commit
  29. 14 May, 2010 5 commits