1. 09 12月, 2014 9 次提交
  2. 05 12月, 2014 1 次提交
  3. 04 12月, 2014 2 次提交
  4. 03 12月, 2014 7 次提交
    • A
      Network bandwidth tracking + refactoring. · d56ef629
      antirez 提交于
      Track bandwidth used by clients and replication (but diskless
      replication is not tracked since the actual transfer happens in the
      child process).
      
      This includes a refactoring that makes tracking new instantaneous
      metrics simpler.
      d56ef629
    • A
      Don't show the ASCII logo if syslog is enabled. · f60c8c09
      antirez 提交于
      Closes issue #1935.
      f60c8c09
    • A
      Regression test for issue #2175. · 04231cb7
      antirez 提交于
      04231cb7
    • A
      6e027776
    • A
      Use exp format and more precision output for ZSCAN. · 42695fdf
      antirez 提交于
      Ref: issue #2175
      42695fdf
    • A
      Over 80 chars comment trimmed in pfcountCommand(). · 164ad2ea
      antirez 提交于
      164ad2ea
    • A
      Mark PFCOUNT as read-only, even if not true. · 0e40124d
      antirez 提交于
      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
  5. 02 12月, 2014 1 次提交
  6. 28 11月, 2014 5 次提交
  7. 26 11月, 2014 1 次提交
  8. 25 11月, 2014 2 次提交
    • M
      Fix lua-cmsgpack 64 bit integer on 32 bit platform · e305df09
      Matt Stancliff 提交于
      This syncs lua-cmsgpack with the mattsta/lua-cmsgpack upstream.
      
      Fixes #2161
      e305df09
    • A
      Avoid valgrind memory leak false positive in processInlineBuffer(). · 9854d03f
      antirez 提交于
      zmalloc(0) cauesd to actually trigger a non-zero allocation since with
      standard libc malloc we have our own zmalloc header for memory tracking,
      but at the same time the returned pointer is at the end of the block and
      not in the middle. This triggers a false positive when testing with
      valgrind.
      
      When the inline protocol args count is 0, we now avoid reallocating
      c->argv, preventing the issue to happen.
      9854d03f
  9. 24 11月, 2014 1 次提交
  10. 15 11月, 2014 10 次提交
    • A
      scripting.tcl tests order fixed to match unstable branch. · b19e7457
      antirez 提交于
      b19e7457
    • A
      lua_cjson.c Lua includes: angled -> quoted. · ce960696
      antirez 提交于
      ce960696
    • A
      Fix non-linux builds error introduced with THP checks. · ead8e31b
      antirez 提交于
      ead8e31b
    • M
      Lua: add cmsgpack scripting tests · 5d8c88fd
      Matt Stancliff 提交于
      Basically: test to make sure we can load cmsgpack
      and do some sanity checks to make sure pack/unpack works
      properly.  We also have a bonus test for circular encoding
      and decoding because I was curious how it worked.
      5d8c88fd
    • M
      Lua: upgrade cmsgpack to 0.4.0 · 381863be
      Matt Stancliff 提交于
      Main reasons for upgrade:
        - Remove a warning when building Redis
        - Add multi pack/unpack
        - Improve memory usage and use Lua allocator properly
        - Fix some edge case encoding/decoding bugs
      381863be
    • M
      Lua: remove new warning added by cjson header · a7b58f15
      Matt Stancliff 提交于
      clang doesn't like "extern inline" when no definition
      is given right away.
      a7b58f15
    • M
      Lua: Use Redis solaris compatability for cjson too · 56e18613
      Matt Stancliff 提交于
      cjson calls isinf, but some Solaris versions don't have isinf
      even with the attempted fix we have in deps/Makefile.
      
      We can harmlessly include the Redis solarisfixes.h header to
      give cjson proper isinf.
      
      Note: cjson has a compile-time setting for using their own defined
      isinf, but the Redis definition in solarisfixes.h is more complete.
      
      Fixes antirez#1620
      56e18613
    • M
      Lua: Upgrade cjson to 2.1.0 (2012-03-01) · e2983dd0
      Matt Stancliff 提交于
      The new cjson has some improvements over our current version including
      increased platform compatability, a new resource limit to restrict
      decode depth, and better invalid number handling.
      
      One minor change was required to deps/Makefile because this version
      of cjson doesn't export itself globally, so we added a quick little
      define of -DENABLE_CJSON_GLOBAL.
      
      cjson now has an optional higher performing float parsing interface,
      but we are not including it (g_fmt.c, dtoa.c) because it requires
      endianness declaration during compile time.
      
      This commit is exactly lua_cjson.c from 2.1.0 with one minor
      change of altering the two Lua includes for local search
      instead of system-wide importing.
      e2983dd0
    • M
      Lua: add cjson scripting test · 2828bbd5
      Matt Stancliff 提交于
      Two simple decode tests added mainly to check that
      the 'cjson' global gets registered and is usable.
      2828bbd5
    • M
      Lua: Add bitop · 1e501d9f
      Matt Stancliff 提交于
      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
  11. 12 11月, 2014 1 次提交