Commits on May 6, 2012
  1. Redis 2.5.9 (2.6 RC3).

    antirez committed May 6, 2012
  2. Merge pull request #500 from pietern/2.6-zipfix

    antirez committed May 6, 2012
    Compare integers in ziplist regardless of encoding
Commits on May 5, 2012
  1. Compare integers in ziplist regardless of encoding

    pietern committed May 5, 2012
    Because of the introduction of new integer encoding types for ziplists
    in the 2.6 tree, the same integer value may have a different encoding in
    different versions of the ziplist implementation. This means that the
    encoding can NOT be used as a fast path in comparing integers.
Commits on May 4, 2012
  1. fix several bugs of init.d scripts

    quiver committed with antirez May 4, 2012
    - PIDFILE environ variable was not properly retrieved
    - chkconfig command failed
Commits on May 2, 2012
  1. syncio.c read / write functions reworked for correctness and performa…

    antirez committed May 2, 2012
    The new implementation start reading / writing before blocking with
    aeWait(), likely the descriptor can accept writes or has buffered data
    inside and we can go faster, otherwise we get an error and wait.
    This change has effects on speed but also on correctness: on socket
    errors when we perform non blocking connect(2) write is performed ASAP
    and the error is returned ASAP before waiting.
    So the practical effect is that now a Redis slave is more available if it
    can not connect to the master, previously the slave continued to block on
    syncWrite() trying to send SYNC, and serving commands very slowly.
  2. Use specific error if master is down and slave-serve-stale-data is se…

    antirez committed May 2, 2012
    …t to no.
    We used to reply -ERR ... message ..., now the reply is
    instead -MASTERDOWN ... message ... so that it can be distinguished
    easily by the other error conditions.
  3. Redis 2.5.8 (2.6.0 RC2).

    antirez committed May 2, 2012
Commits on May 1, 2012
  1. Merge pull request #488 from pietern/2.6-safekeys

    antirez committed May 1, 2012
    Use safe dictionary iterator from KEYS (fixes #487)
Commits on Apr 30, 2012
  1. Use safe dictionary iterator from KEYS

    pietern committed Apr 30, 2012
    Every matched key in a KEYS call is checked for expiration. When the key
    is set to expire, the call to `getExpire` will assert that the key also
    exists in the main dictionary. This in turn causes a rehashing step to
    be executed. Rehashing a dictionary when there is an iterator active may
    result in the iterator emitting duplicate entries, or not emitting some
    entries at all. By using a safe iterator, the rehash step is omitted.
Commits on Apr 29, 2012
Commits on Apr 27, 2012
  1. Fixed release notes typo

    antirez committed Apr 27, 2012
  2. Redis 2.5.7 (2.6 RC1)

    antirez committed Apr 27, 2012
  3. Update makefile dependencies.

    antirez committed Apr 27, 2012
  4. Set LUA_MASKCOUNT hook more selectively. Fixes issue #480.

    antirez committed Apr 27, 2012
    An user reported a crash with Redis scripting (see issue #480 on
    github), inspection of the kindly provided strack trace showed that
    server.lua_caller was probably set to NULL. The stack trace also slowed
    that the call to the hook was originating from a point where we just
    used to set/get a few global variables in the Lua state.
    What was happening is that we did not set the timeout hook selectively
    only when the user script was called. Now we set it more selectively,
    specifically only in the context of the lua_pcall() call, and make sure
    to remove the hook when the call returns. Otherwise the hook can get
    called in random contexts every time we do something with the Lua
  5. Re-introduce -g -rdynamic -ggdb when linking, fixing strack traces.

    antirez committed Apr 26, 2012
    A previous commit removed -g -rdynamic -ggdb as LDFLAGS, not allowing
    Redis to produce a stack trace wth symbol names on crash.
    This commit fixes the issue.
  6. Don't use an alternative stack for SIGSEGV & co.

    antirez committed Apr 26, 2012
    This commit reverts most of c575766, in
    order to use back main stack for signal handling.
    The main reason is that otherwise it is completely pointless that we do
    a lot of efforts to print the stack trace on crash, and the content of
    the stack and registers as well. Using an alternate stack broken this
    feature completely.
  7. Redis test: More reliable BRPOPLPUSH replication test.

    antirez committed Apr 26, 2012
    Now it uses the new wait_for_condition testing primitive.
    Also wait_for_condition implementation was fixed in this commit to properly
    escape the expr command and its argument.
  8. Redis test: scripting EVALSHA replication test more reliable.

    antirez committed Apr 26, 2012
    A new primitive wait_for_condition was introduced in the scripting
    engine that makes waiting for events simpler, so that it is simpler to
    write tests that are more resistant to timing issues.
Commits on Apr 24, 2012
  1. Added two new encodings to ziplist.c

    antirez committed Apr 24, 2012
    1) One integer "immediate" encoding that can encode from 0 to 12 in the
    encoding byte itself.
    2) One 8 bit signed integer encoding that can encode 8 bit signed small
    integers in a single byte.
    The idea is to exploit all the not used bits we have around in a
    backward compatible way.