1. 31 Oct, 2016 1 commit
  2. 27 Jul, 2016 3 commits
    • antirez's avatar
      Multiple GEORADIUS bugs fixed. · fdafe233
      antirez authored
      By grepping the continuous integration errors log a number of GEORADIUS
      tests failures were detected.
      
      Fortunately when a GEORADIUS failure happens, the test suite logs enough
      information in order to reproduce the problem: the PRNG seed,
      coordinates and radius of the query.
      
      By reproducing the issues, three different bugs were discovered and
      fixed in this commit. This commit also improves the already good
      reporting of the fuzzer and adds the failure vectors as regression
      tests.
      
      The issues found:
      
      1. We need larger squares around the poles in order to cover the area
      requested by the user. There were already checks in order to use a
      smaller step (larger squares) but the limit set (+/- 67 degrees) is not
      enough in certain edge cases, so 66 is used now.
      
      2. Even near the equator, when the search area center is very near the
      edge of the square, the north, south, west or ovest square may not be
      able to fully cover the specified radius. Now a test is performed at the
      edge of the initial guessed search area, and larger squares are used in
      case the test fails.
      
      3. Because of rounding errors between Redis and Tcl, sometimes the test
      signaled false positives. This is now addressed.
      
      Whenever possible the original code was improved a bit in other ways. A
      debugging example stanza was added in order to make the next debugging
      session simpler when the next bug is found.
      fdafe233
    • antirez's avatar
      7ca69aff
    • antirez's avatar
      Sentinel: check Slave INFO state more often when disconnected. · 5b5e6520
      antirez authored
      During the initial handshake with the master a slave will report to have
      a very high disconnection time from its master (since technically it was
      disconnected since forever, so the current UNIX time in seconds is
      reported).
      
      However when the slave is connected again the Sentinel may re-scan the
      INFO output again only after 10 seconds, which is a long time. During
      this time Sentinels will consider this instance unable to failover, so
      a useless delay is introduced.
      
      Actaully this hardly happened in the practice because when a slave's
      master is down, the INFO period for slaves changes to 1 second. However
      when a manual failover is attempted immediately after adding slaves
      (like in the case of the Sentinel unit test), this problem may happen.
      
      This commit changes the INFO period to 1 second even in the case the
      slave's master is not down, but the slave reported to be disconnected
      from the master (by publishing, last time we checked, a master
      disconnection time field in INFO).
      
      This change is required as a result of an unrelated change in the
      replication code that adds a small delay in the master-slave first
      synchronization.
      5b5e6520
  3. 06 Jul, 2016 1 commit
  4. 04 Jul, 2016 1 commit
  5. 30 Jun, 2016 3 commits
  6. 15 Jun, 2016 2 commits
  7. 13 Jun, 2016 2 commits
  8. 18 May, 2016 1 commit
  9. 05 May, 2016 2 commits
  10. 04 May, 2016 1 commit
  11. 02 May, 2016 6 commits
  12. 18 Feb, 2016 1 commit
  13. 25 Jan, 2016 2 commits
  14. 08 Jan, 2016 1 commit
    • antirez's avatar
      Scripting: handle trailing comments. · 5fd61c95
      antirez authored
      This fix, provided by Paul Kulchenko (@pkulchenko), allows the Lua
      scripting engine to evaluate statements with a trailing comment like the
      following one:
      
          EVAL "print() --comment" 0
      
      Lua can't parse the above if the string does not end with a newline, so
      now a final newline is always added automatically. This does not change
      the SHA1 of scripts since the SHA1 is computed on the body we pass to
      EVAL, without the other code we add to register the function.
      
      Close #2951.
      5fd61c95
  15. 02 Jan, 2016 1 commit
  16. 29 Dec, 2015 1 commit
  17. 23 Dec, 2015 1 commit
  18. 18 Dec, 2015 1 commit
  19. 17 Dec, 2015 1 commit
    • antirez's avatar
      Cluster: resharding test now checks AOF consistency. · cd29e7be
      antirez authored
      It's a key invariant that when AOF is enabled, after the cluster
      reshards, a crash-recovery event causes all the keys to be still fine
      with the expected logical content. Now this is part of unit 04.
      cd29e7be
  20. 13 Dec, 2015 2 commits
  21. 10 Dec, 2015 2 commits
    • antirez's avatar
      Cluster: more reliable migration tests. · 7399195c
      antirez authored
      The old version was modeled with two failovers, however after the first
      it is possible that another slave will migrate to the new master, since
      for some time the new master is not backed by any slave. Probably there
      should be some pause after a failover, before the migration. Anyway the
      test is simpler in this way, and depends less on timing.
      7399195c
    • antirez's avatar
      Cluster: more reliable replicas migration test. · 34882878
      antirez authored
      34882878
  22. 30 Oct, 2015 3 commits
  23. 15 Oct, 2015 1 commit