1. 23 Dec, 2014 1 commit
    • antirez's avatar
      INFO loading stats: three fixes. · 22a0fe8d
      antirez authored
      1. Server unxtime may remain not updated while loading AOF, so ETA is
      not updated correctly.
      
      2. Number of processed byte was not initialized.
      
      3. Possible division by zero condition (likely cause of issue #1932).
      22a0fe8d
  2. 22 Dec, 2014 1 commit
  3. 19 Dec, 2014 1 commit
  4. 17 Dec, 2014 1 commit
  5. 16 Dec, 2014 1 commit
  6. 13 Dec, 2014 2 commits
  7. 12 Dec, 2014 1 commit
  8. 11 Dec, 2014 3 commits
  9. 09 Dec, 2014 12 commits
  10. 04 Dec, 2014 2 commits
  11. 03 Dec, 2014 4 commits
  12. 02 Dec, 2014 2 commits
    • antirez's avatar
      164ad2ea
    • antirez's avatar
      Mark PFCOUNT as read-only, even if not true. · 0e40124d
      antirez authored
      PFCOUNT is technically speaking a write command, since the cached value
      of the HLL is exposed in the data structure (design error, mea culpa), and
      can be modified by PFCOUNT.
      
      However if we flag PFCOUNT as "w", read only slaves can't execute the
      command, which is a problem since there are environments where slaves
      are used to scale PFCOUNT reads.
      
      Nor it is possible to just prevent PFCOUNT to modify the data structure
      in slaves, since without the cache we lose too much efficiency.
      
      So while this commit allows slaves to create a temporary inconsistency
      (the strings representing the HLLs in the master and slave can be
      different in certain moments) it is actually harmless.
      
      In the long run this should be probably fixed by turning the HLL into a
      more opaque representation, for example by storing the cached value in
      the part of the string which is not exposed (this should be possible
      with SDS strings).
      0e40124d
  13. 28 Nov, 2014 2 commits
  14. 25 Nov, 2014 2 commits
  15. 14 Nov, 2014 2 commits
    • antirez's avatar
      ead8e31b
    • Matt Stancliff's avatar
      Lua: Add bitop · 1e501d9f
      Matt Stancliff authored
      A few people have written custom C commands because bit
      manipulation isn't exposed through Lua.  Let's give
      them Mike Pall's bitop.
      
      This adds bitop 1.0.2 (2012-05-08) from http://bitop.luajit.org/
      
      bitop is imported as "bit" into the global namespace.
      
      New Lua commands: bit.tobit, bit.tohex, bit.bnot, bit.band, bit.bor, bit.bxor,
      bit.lshift, bit.rshift, bit.arshift, bit.rol, bit.ror, bit.bswap
      
      Verification of working (the asserts would abort on error, so (nil) is correct):
      127.0.0.1:6379> eval "assert(bit.tobit(1) == 1); assert(bit.band(1) == 1); assert(bit.bxor(1,2) == 3); assert(bit.bor(1,2,4,8,16,32,64,128) == 255)" 0
      (nil)
      127.0.0.1:6379> eval 'assert(0x7fffffff == 2147483647, "broken hex literals"); assert(0xffffffff == -1 or 0xffffffff == 2^32-1, "broken hex literals"); assert(tostring(-1) == "-1", "broken tostring()"); assert(tostring(0xffffffff) == "-1" or tostring(0xffffffff) == "4294967295", "broken tostring()")' 0
      (nil)
      
      Tests also integrated into the scripting tests and can be run with:
      ./runtest --single unit/scripting
      
      Tests are excerpted from `bittest.lua` included in the bitop distribution.
      1e501d9f
  16. 12 Nov, 2014 3 commits