1. 15 Mar, 2017 1 commit
  2. 22 Feb, 2017 2 commits
  3. 20 Dec, 2016 1 commit
  4. 05 Dec, 2016 1 commit
    • antirez's avatar
      Geo: improve fuzz test. · b1fc06f7
      antirez authored
      The test now uses more diverse radius sizes, especially sizes near or
      greater the whole earth surface are used, that are known to trigger edge
      cases. Moreover the PRNG seeding was probably resulting into the same
      sequence tested over and over again, now seeding unsing the current unix
      time in milliseconds.
      
      Related to #3631.
      b1fc06f7
  5. 18 Nov, 2016 1 commit
  6. 31 Oct, 2016 1 commit
  7. 14 Oct, 2016 1 commit
  8. 24 Aug, 2016 1 commit
  9. 27 Jul, 2016 1 commit
    • antirez's avatar
      Multiple GEORADIUS bugs fixed. · 356a6304
      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.
      356a6304
  10. 06 Jul, 2016 1 commit
  11. 28 Jun, 2016 3 commits
  12. 15 Jun, 2016 2 commits
  13. 05 Jun, 2016 1 commit
  14. 31 May, 2016 1 commit
  15. 18 May, 2016 1 commit
  16. 06 May, 2016 1 commit
  17. 25 Apr, 2016 1 commit
  18. 18 Apr, 2016 1 commit
  19. 02 Mar, 2016 4 commits
  20. 18 Feb, 2016 1 commit
  21. 08 Jan, 2016 1 commit
    • antirez's avatar
      Scripting: handle trailing comments. · f43c794b
      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.
      f43c794b
  22. 11 Dec, 2015 2 commits
  23. 28 Nov, 2015 1 commit
  24. 04 Nov, 2015 1 commit
  25. 03 Nov, 2015 1 commit
  26. 30 Oct, 2015 3 commits
  27. 09 Oct, 2015 1 commit
  28. 06 Oct, 2015 1 commit
  29. 15 Sep, 2015 1 commit
    • antirez's avatar
      Test: fix false positive in HSTRLEN test. · 846da5b2
      antirez authored
      HINCRBY* tests later used the value "tmp" that was sometimes generated
      by the random key generation function. The result was ovewriting what
      Tcl expected to be inside Redis with another value, causing the next
      HSTRLEN test to fail.
      846da5b2
  30. 14 Sep, 2015 1 commit
    • antirez's avatar
      GEORADIUS: Don't report duplicates when radius is huge. · 3c23b5ff
      antirez authored
      Georadius works by computing the center + neighbors squares covering all
      the area of the specified position and radius. Then a distance filter is
      used to remove elements which are actually outside the range.
      
      When a huge radius is used, like 5000 km or more, adjacent neighbors may
      collide and be the same, leading to the reporting of the same element
      multiple times. This only happens in the edge case of huge radius but is
      not ideal.
      
      A robust but slow solution would involve qsorting the range to remove
      all the duplicates. However since the collisions are only in adjacent
      boxes, for the way they are ordered in the code, it is much faster to
      just check if the current box is the same as the previous one processed.
      
      This commit adds a regression test for the bug.
      
      Fixes #2767.
      3c23b5ff