1. 14 Apr, 2014 5 commits
    • antirez's avatar
      Fixed error message generation in PFDEBUG GETREG. · 1ee18db9
      antirez authored
      Bulk length for registers was emitted too early, so if there was a bug
      the reply looked like a long array with just one element, blocking the
      client as result.
      1ee18db9
    • antirez's avatar
      Fixed memmove() count in hllSparseAdd(). · 82c31f75
      antirez authored
      82c31f75
    • antirez's avatar
      hllSparseAdd(): more correct dense conversion conditional. · 3b200035
      antirez authored
      We want to promote if the total string size exceeds the resulting size
      after the upgrade.
      3b200035
    • antirez's avatar
      hllSparseToDense(): sanity check added. · b7571b74
      antirez authored
      The function checks if all the HLL_REGISTERS were processed during the
      convertion from sparse to dense encoding, returning REDIS_OK or
      REDIS_ERR to signal a corruption problem.
      
      A bug in PFDEBUG GETREG was fixed: when the object is converted to the
      dense representation we need to reassign the new pointer to the header
      structure pointer.
      b7571b74
    • antirez's avatar
      PFDEBUG DECODE added. · f9dc3cb0
      antirez authored
      Provides a human readable description of the opcodes composing a
      run-length encoded HLL (sparse encoding).
      The command is only useful for debugging / development tasks.
      f9dc3cb0
  2. 13 Apr, 2014 3 commits
  3. 12 Apr, 2014 10 commits
  4. 11 Apr, 2014 4 commits
  5. 10 Apr, 2014 1 commit
    • antirez's avatar
      HyperLogLog sparse representation slightly modified. · 9c037ba8
      antirez authored
      After running a few simulations with different alternative encodings,
      it was found that the VAL opcode performs better using 5 bits for the
      value and 2 bits for the run length, at least for cardinalities in the
      range of interest.
      9c037ba8
  6. 09 Apr, 2014 1 commit
  7. 07 Apr, 2014 1 commit
    • antirez's avatar
      Add casting to match printf format. · 67bb2c46
      antirez authored
      adjustOpenFilesLimit() and clusterUpdateSlotsWithConfig() that were
      assuming uint64_t is the same as unsigned long long, which is true
      probably for all the systems out there that we target, but still GCC
      emitted a warning since technically they are two different types.
      67bb2c46
  8. 05 Apr, 2014 1 commit
  9. 04 Apr, 2014 3 commits
    • antirez's avatar
      PFCOUNT: always unshare/decode the object. · d5be696d
      antirez authored
      This will be a non-op most of the times since the object will be
      unshared / decoded, however it is more technically correct to start this
      way since the object may be decoded even in the read-only code path.
      d5be696d
    • antirez's avatar
      tryObjectEncoding() refactoring. · 1c12bcbc
      antirez authored
      We also avoid to re-create an object that is already in EMBSTR encoding.
      1c12bcbc
    • antirez's avatar
      Changed HyperLogLog hash seed to a non-zero value. · 433ce7f8
      antirez authored
      Using a seed of zero has the side effect of having the empty string
      hashing to what is a very special case in the context of HyperLogLog: a
      very long run of zeroes.
      
      This did not influenced the correctness of the result with 16k registers
      because of the harmonic mean, but still it is inconvenient that a so
      obvious value maps to a so special hash.
      
      The seed 0xadc83b19 is used instead, which is the first 64 bits of the
      SHA1 of the empty string.
      
      Reference: issue #1657.
      433ce7f8
  10. 03 Apr, 2014 8 commits
  11. 02 Apr, 2014 3 commits