Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Nov 28, 2012
  1. Redis 2.4.18

    authored
Commits on Sep 11, 2012
  1. Make sure that SELECT argument is an integer or return an error.

    authored
    Unfortunately we had still the lame atoi() without any error checking in
    place, so "SELECT foo" would work as "SELECT 0". This was not an huge
    problem per se but some people expected that DB can be strings and not
    just numbers, and without errors you get the feeling that they can be
    numbers, but not the behavior.
    
    Now getLongFromObjectOrReply() is used as almost everybody else across
    the code, generating an error if the number is not an integer or
    overflows the long type.
    
    Thanks to @mipearson for reporting that on Twitter.
Commits on Aug 30, 2012
  1. Redis 2.4.17

    authored
  2. Sentinel: Redis-side support for slave priority.

    authored
    A Redis slave can now be configured with a priority, that is an integer
    number that is shown in INFO output and can be get and set using the
    redis.conf file or the CONFIG GET/SET command.
    
    This field is used by Sentinel during slave election. A slave with lower
    priority is preferred. A slave with priority zero is never elected (and
    is considered to be impossible to elect even if it is the only slave
    available).
    
    A next commit will add support in the Sentinel side as well.
  3. run_id added to INFO output (backported from 2.6).

    authored
    This change is required to make Redis 2.4 compatible with Sentinel.
    
    The Run ID is a field that identifies a single execution of the Redis
    server. It can be useful for many purposes as it makes easy to detect if
    the instance we are talking about is the same, or if it is a different
    one or was rebooted. An application of run_id will be in the partial
    synchronization of replication, where a slave may request a partial sync
    from a given offset only if it is talking with the same master. Another
    application is in failover and monitoring scripts.
Commits on Aug 22, 2012
  1. @mgp

    Use correct variable name for value to convert.

    mgp authored committed
    Note by @antirez: this code was never compiled because utils.c lacked the
    float.h include, so we never noticed this variable was mispelled in the
    past.
    
    This should provide a noticeable speed boost when saving certain types
    of databases with many sorted sets inside.
  2. @pietern

    Set p to its new offset before modifying it

    pietern authored committed
Commits on Aug 1, 2012
  1. Redis 2.4.16

    authored
Commits on Jul 9, 2012
  1. @jokea
  2. Typo in comment.

    authored
  3. REPLCONF internal command introduced.

    authored
    The REPLCONF command is an internal command (not designed to be directly
    used by normal clients) that allows a slave to set some replication
    related state in the master before issuing SYNC to start the
    replication.
    
    The initial motivation for this command, and the only reason currently
    it is used by the implementation, is to let the slave instance
    communicate its listening port to the slave, so that the master can
    show all the slaves with their listening ports in the "replication"
    section of the INFO output.
    
    This allows clients to auto discover and query all the slaves attached
    into a master.
    
    Currently only a single option of the REPLCONF command is supported, and
    it is called "listening-port", so the slave now starts the replication
    process with something like the following chat:
    
        REPLCONF listening-prot 6380
        SYNC
    
    Note that this works even if the master is an older version of Redis and
    does not understand REPLCONF, because the slave ignores the REPLCONF
    error.
    
    In the future REPLCONF can be used for partial replication and other
    replication related features where there is the need to exchange
    information between master and slave.
    
    NOTE: This commit also fixes a bug: the INFO outout already carried
    information about slaves, but the port was broken, and was obtained
    with getpeername(2), so it was actually just the ephemeral port used
    by the slave to connect to the master as a client.
Commits on Jun 21, 2012
  1. Redis 2.4.15

    authored
Commits on Jun 2, 2012
  1. Added time.h include in redis-cli.

    authored
    redis-cli.c uses the time() function to seed the PRNG, but time.h was
    not included. This was not noticed since sys/time.h is included and was
    enough in most systems (but not correct). With Ubuntu 12.04 GCC
    generates a warning that made us aware of the issue.
  2. @anydot

    future-proof version comparison

    anydot authored committed
  3. Deleted jemalloc.orig from /deps.

    authored
    In the commit upgrading jemalloc to version 3.0.0 I added the old
    version of Jemalloc in the 'jemalloc.orig' directory for an error.
    This commit removes the not useful version of jemalloc.
  4. Jemalloc updated to 3.0.0.

    authored
    Full changelog here:
    
    http://www.canonware.com/cgi-bin/gitweb.cgi?p=jemalloc.git;a=blob_plain;f=ChangeLog;hb=master
    
    Notable improvements from the point of view of Redis:
    
    1) Bugfixing.
    2) Support for Valgrind.
    3) Support for OSX Lion, FreeBSD.
Commits on May 23, 2012
  1. Redis 2.4.14

    authored
  2. @jokea
  3. @ThePicard

    Fixed a typo in install_server.sh

    ThePicard authored committed
  4. Fixed issue #516 (ZINTERSTORE mixing sets and zsets).

    authored
    Weeks ago trying to fix an harmless GCC warning I introduced a bug in
    the ziplist-encoded implementations of sorted sets.
    
    The bug completely broke zuiNext() iterator, that is used in the
    ZINTERSTORE and ZUNIONSTORE implementation, so those two commands are no
    longer reliable starting from Redis version 2.4.12 and latest 2.6.0-RC
    releases.
    
    This commit fixes the problem and adds a regression test.
Commits on May 12, 2012
  1. Add an implementation of mstime() to 2.4.

    authored
    Commit 9419eb0 back ported a better expired keys collection algorithm
    that is more incremental but for it to compile and work we need an
    implementation of the mstime() function that was missing in 2.4.
  2. redis-cli pipe mode: handle EINTR properly as well so that SIGSTOP/SI…

    authored
    …GCONT are handled correctly.
  3. If the computer running the Redis test is slow, we revert to --client…

    authored
    …s 1 to avoid false positives.
  4. More incremental active expired keys collection process.

    authored
    If a large amonut of keys are all expiring about at the same time, the
    "active" expired keys collection cycle used to block as far as the
    percentage of already expired keys was >= 25% of the total population of
    keys with an expire set.
    
    This could block the server even for many seconds in order to reclaim
    memory ASAP. The new algorithm uses at max a small amount of
    milliseconds per cycle, even if this means reclaiming the memory less
    promptly it also means a more responsive server.
Commits on May 11, 2012
Commits on May 9, 2012
  1. Fix PREFIX typo in Makefile.

    authored
Something went wrong with that request. Please try again.