Skip to content
Commits on Feb 10, 2016
  1. Merge pull request #3072 from yoav-steinberg/cmsgpack_fix

    committed
    cmsgpack: pass correct osize values to lua allocator
Commits on Feb 7, 2016
  1. @yoav-steinberg
Commits on Feb 5, 2016
  1. Merge pull request #3059 from itamarhaber/keyspacenotif-lrem

    committed
    Adds keyspace notifications for LREM
Commits on Feb 3, 2016
  1. @itamarhaber

    Fixes a typo

    itamarhaber committed
Commits on Feb 2, 2016
  1. @itamarhaber
  2. Cluster: store busport with different separator in CLUSTER NODES.

    committed
    We need to be able to correctly parse the node address in the case of
    IPv6 addresses.
Commits on Feb 1, 2016
Commits on Jan 29, 2016
  1. Cluster: include node IDs in SLOTS output.

    committed
    CLUSTER SLOTS now includes IDs in the nodes description associated with
    a given slot range. Certain client libraries implementations need a way
    to reference a node in an unique way, so they were relying on CLUSTER
    NODES, that is not a stable API and may change frequently depending on
    Redis Cluster future requirements.
  2. Cluster anounce-ip/port WIP.

    committed
Commits on Jan 28, 2016
Commits on Jan 27, 2016
  1. Sentinel: improve handling of known Sentinel instances.

    committed
    1. Bug #3035 is fixed (NULL pointer access). This was happening with the
       folling set of conditions:
    
    * For some reason one of the Sentinels, let's call it Sentinel_A, changed ID (reconfigured from scratch), but is as the same address at which it used to be.
    
    * Sentinel_A performs a failover and/or has a newer configuration compared to another Sentinel, that we call, Sentinel_B.
    
    * Sentinel_B receives an HELLO message from Sentinel_A, where the address and/or ID is mismatched, but it is reporting a newer configuration for the master they are both monitoring.
    
    2. Sentinels now must have an ID otherwise they are not loaded nor persisted in the configuration. This allows to have conflicting Sentinels with the same address since now the master->sentinels dictionary is indexed by Sentinel ID.
    
    3. The code now detects if a Sentinel is annoucing itself with an IP/port pair already busy (of another Sentinel). The old Sentinel that had the same port/pair is set as having port 0, that means, the address is invalid. We may discover the right address later via HELLO messages.
Commits on Jan 26, 2016
  1. Better address udpate strategy when processing gossip sections.

    committed
    The change covers the case where:
    
    1. There is a node we can't reach (in fail or pfail state).
    2. We see a different address for this node, in the gossip section sent
    to us by a node that, instead, is able to talk with the node we cannot
    talk to.
    
    In this case it's a good bet to switch to the address reported by this
    node, since there was an address switch and it is able to talk with the
    node and we are not.
    
    However previosuly this was done in a dangerous way, by initiating an
    handshake. The handshake, using the MEET packet, forces the receiver to
    join our cluster, and this is not a good idea. If the node in question
    really just switched address, but is the same node, it already knows about
    us, so we just need to perform an address update and a reconnection.
    
    So with this commit instead we just update the address of the node,
    release the node link if any, and attempt to reconnect in the next
    clusterCron() cycle.
    
    The commit also improves debugging messages printed by Cluster during
    address or ID switches.
Commits on Jan 25, 2016
Commits on Jan 20, 2016
  1. Merge pull request #3023 from itamarhaber/patch-2

    committed
    Removes an extra space in protected mode message
  2. @itamarhaber
Commits on Jan 19, 2016
  1. Minor MIGRATE refactoring.

    committed
    Centralize cleanup of newargv in a single place.
    Add more comments to help a bit following a complex function.
    
    Related to issue #3016.
  2. More variadic MIGRATE fixes.

    committed
    Another leak was fixed in the case of syntax error by restructuring the
    allocation strategy for the two dynamic vectors.
    
    We also make sure to always close the cached socket on I/O errors so that
    all the I/O errors are handled the same, even if we had a previously
    queued error of a different kind from the destination server.
    
    Thanks to Kevin McGehee. Related to issue #3016.
Commits on Jan 18, 2016
  1. Various fixes to MIGRATE with multiple keys.

    committed
    In issue #3016 Kevin McGehee identified multiple very serious issues in
    the new implementation of MIGRATE. This commit attempts to restructure
    the code in oder to avoid mistakes, an analysis of the new
    implementation is in progress in order to check for possible edge cases.
Something went wrong with that request. Please try again.