Commits on Nov 22, 2012
  1. Redis 2.6.5

    committed Nov 22, 2012
  2. EVALSHA is now case insensitive.

    EVALSHA used to crash if the SHA1 was not lowercase (Issue #783).
    Fixed using a case insensitive dictionary type for the sha -> script
    map used for replication of scripts.
    committed Nov 22, 2012
  3. Fix integer overflow in zunionInterGenericCommand().

    This fixes issue #761.
    committed Nov 22, 2012
  4. Safer handling of MULTI/EXEC on errors.

    After the transcation starts with a MULIT, the previous behavior was to
    return an error on problems such as maxmemory limit reached. But still
    to execute the transaction with the subset of queued commands on EXEC.
    
    While it is true that the client was able to check for errors
    distinguish QUEUED by an error reply, MULTI/EXEC in most client
    implementations uses pipelining for speed, so all the commands and EXEC
    are sent without caring about replies.
    
    With this change:
    
    1) EXEC fails if at least one command was not queued because of an
    error. The EXECABORT error is used.
    2) A generic error is always reported on EXEC.
    3) The client DISCARDs the MULTI state after a failed EXEC, otherwise
    pipelining multiple transactions would be basically impossible:
    After a failed EXEC the next transaction would be simply queued as
    the tail of the previous transaction.
    committed Nov 15, 2012
Commits on Nov 20, 2012
  1. Children creating AOF or RDB files now report memory used by COW.

    Finally Redis is able to report the amount of memory used by
    copy-on-write while saving an RDB or writing an AOF file in background.
    
    Note that this information is currently only logged (at NOTICE level)
    and not shown in INFO because this is less trivial (but surely doable
    with some minor form of interprocess communication).
    
    The reason we can't capture this information on the parent before we
    call wait3() is that the Linux kernel will release the child memory
    ASAP, and only retain the minimal state for the process that is useful
    to report the child termination to the parent.
    
    The COW size is obtained by summing all the Private_Dirty fields found
    in the "smap" file inside the proc filesystem for the process.
    
    All this is Linux specific and is not available on other systems.
    committed Nov 19, 2012
  2. zmalloc_get_private_dirty() function added (Linux only).

    For non Linux systmes it just returns 0.
    
    This function is useful to estimate copy-on-write because of childs
    saving stuff on disk.
    committed Nov 19, 2012
Commits on Nov 14, 2012
Commits on Nov 12, 2012
  1. MIGRATE: fix default timeout to 1000 milliseconds.

    When a timeout <= 0 is provided we set a default timeout of 1 second.
    It was set to 1 millisecond for an error resulting from a recent change.
    committed Nov 12, 2012
  2. MIGRATE timeout should be in milliseconds.

    While it is documented that the MIGRATE timeout is in milliseconds, it
    was in seconds instead. This commit fixes the problem.
    committed Nov 12, 2012
Commits on Nov 8, 2012
  1. Redis 2.6.4

    committed Nov 8, 2012
  2. Make clear that contributing code to the Redis project means to relea…

    …se it under the terms of the BSD license.
    committed Nov 8, 2012
Commits on Nov 6, 2012
  1. Redis 2.6.3

    committed Nov 6, 2012
Commits on Nov 2, 2012
  1. @run
Commits on Nov 1, 2012
  1. More robust handling of AOF rewrite child.

    After the wait3() syscall we used to do something like that:
    
        if (pid == server.rdb_child_pid) {
            backgroundSaveDoneHandler(exitcode,bysignal);
        } else {
            ....
        }
    
    So the AOF rewrite was handled in the else branch without actually
    checking if the pid really matches. This commit makes the check explicit
    and logs at WARNING level if the pid returned by wait3() does not match
    neither the RDB or AOF rewrite child.
    committed Nov 1, 2012
  2. Merge pull request #743 from Cofyc/fixtypo

    fix typo in comments (redis.c, networking.c)
    committed Nov 1, 2012
  3. Unix socket clients properly displayed in MONITOR and CLIENT LIST.

    This also fixes issue #745.
    committed Nov 1, 2012
  4. 32 bit build fixed on Linux.

    It failed because of the way jemalloc was compiled (without passing the
    right flags to make, but just to configure). Now the same set of flags
    are also passed to the make command, fixing the issue.
    
    This fixes issue #744
    committed Nov 1, 2012
  5. @cofyc
Commits on Oct 31, 2012
  1. @yamt

    fix a typo in a comment

    yamt committed with Oct 24, 2012
  2. Invert two sides of if expression in SET to avoid a lookup.

    Because of the short circuit behavior of && inverting the two sides of
    the if expression avoids an hash table lookup if the non-EX variant of
    SET is called.
    
    Thanks to Weibin Yao (@yaoweibin on github) for spotting this.
    committed Oct 31, 2012
Commits on Oct 30, 2012
Commits on Oct 26, 2012
  1. Redis 2.6.2

    committed Oct 26, 2012
  2. Ctrl+w support in linenoise.

    committed Oct 26, 2012
  3. @openbaas
Commits on Oct 25, 2012
  1. Redis 2.6.1

    committed Oct 25, 2012
  2. Fix compilation on Linux kernels or glibc versions lacking sync_file_…

    …range().
    
    This fixes issue #667.
    
    Many thanks to Didier Spezia for the fix.
    committed Oct 25, 2012
Commits on Oct 24, 2012