|
Revision tags: 8.0-m02, 6.2.16, 7.2.6, 7.4.1, 8.0-m01, 7.4.0, 7.4-rc2, 7.4-rc1, 7.2.5, 7.2.4, 7.0.15, 7.2.3, 7.2.2, 7.0.14, 6.2.14, 6.2.15, 7.2.1, 7.0.13, 7.2.0, 7.2-rc3, 7.0.12, 6.2.13, 6.0.20, 7.2-rc2, 6.0.19, 6.2.12, 7.0.11, 7.2-rc1, 7.0.10, 7.0.9, 6.2.11, 6.0.18, 6.2.10, 6.0.17, 6.2.9, 7.0.8, 7.0.7, 7.0.6, 6.2.8, 7.0.5, 7.0.4, 7.0.3, 7.0.2, 7.0.1, 7.0.0, 6.2.7, 7.0-rc3, 7.0-rc2, 7.0-rc1, 6.2.6, 6.0.16, 5.0.14, 5.0.13, 6.0.15, 6.2.5, 6.0.14, 6.2.4, 6.2.3, 6.0.13, 6.2.2, 6.2.1, 6.0.12, 5.0.12, 6.0.11, 6.2.0, 5.0.11, 6.2-rc3, 6.0.10, 6.2-rc2, 6.2-rc1, 6.0.9, 5.0.10, 6.0.8, 6.0.7, 6.0.6, 6.0.5, 6.0.4, 6.0.3, 6.0.2, 6.0.1, 6.0.0, 5.0.9, 6.0-rc4, 6.0-rc3, 5.0.8, 6.0-rc2, 6.0-rc1, 5.0.7, 5.0.6, 5.0.5, 3.2.13, 4.0.14, 5.0.4, 4.0.13, 5.0.3, 4.0.12, 5.0.2, 5.0.1, 5.0.0, 5.0-rc6, 5.0-rc5, 4.0.11, 5.0-rc4, 5.0-rc3, 5.0-rc2, 4.0.10, 3.2.12, 5.0-rc1, 4.0.9, 4.0.8, 4.0.7, 4.0.6, 4.0.5, 4.0.4, 4.0.3, 3.2.11, 4.0.2, 3.2.10, 4.0.1, 4.0.0, 3.2.9, 4.0-rc3, 3.2.8, 3.2.7, 3.2.6, 4.0-rc2, 4.0-rc1, 3.2.5, 3.2.4, 3.2.3, 3.2.2, 3.2.1 |
|
| #
f592b4d3 |
| 16-Jun-2016 |
antirez <[email protected]> |
RESTORE: accept RDB dumps with older versions.
Reference issue #3218.
Checking the code I can't find a reason why the original RESTORE code was so opinionated about restoring only the current versi
RESTORE: accept RDB dumps with older versions.
Reference issue #3218.
Checking the code I can't find a reason why the original RESTORE code was so opinionated about restoring only the current version. The code in to `rdb.c` appears to be capable as always to restore data from older versions of Redis, and the only places where it is needed the current version in order to correctly restore data, is while loading the opcodes, not the values itself as it happens in the case of RESTORE.
For the above reasons, this commit enables RESTORE to accept older versions of values payloads.
show more ...
|
|
Revision tags: 3.2.0 |
|
| #
708f486c |
| 05-May-2016 |
antirez <[email protected]> |
Cluster: make getNodeByQuery() responsible of -CLUSTERDOWN errors.
This fixes a bug introduced by d827dbf, and makes the code consistent with the logic of always allowing, while the cluster is down,
Cluster: make getNodeByQuery() responsible of -CLUSTERDOWN errors.
This fixes a bug introduced by d827dbf, and makes the code consistent with the logic of always allowing, while the cluster is down, commands that don't target any key.
As a side effect the code is also simpler now.
show more ...
|
| #
1fc2ed61 |
| 28-Jan-2016 |
Itamar Haber <[email protected]> |
Fixes a typo
|
| #
7b618823 |
| 02-May-2016 |
antirez <[email protected]> |
New masters with slots are now targets of migration if others are.
This fixes issue #3043.
Before this fix, after a complete resharding of a master slots to other nodes, the master remains empty an
New masters with slots are now targets of migration if others are.
This fixes issue #3043.
Before this fix, after a complete resharding of a master slots to other nodes, the master remains empty and the slaves migrate away to other masters with non-zero nodes. However the old master now empty, is no longer considered a target for migration, because the system has no way to tell it had slaves in the past.
This fix leaves the algorithm used in the past untouched, but adds a new rule. When a new or old master which is empty and without slaves, are assigend with their first slot, if other masters in the cluster have slaves, they are automatically considered to be targets for replicas migration.
show more ...
|
| #
0f3fb009 |
| 29-Jan-2016 |
antirez <[email protected]> |
Cluster: include node IDs in SLOTS output.
CLUSTER SLOTS now includes IDs in the nodes description associated with a given slot range. Certain client libraries implementations need a way to referenc
Cluster: include node IDs in SLOTS output.
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.
show more ...
|
|
Revision tags: 3.2.0-rc3 |
|
| #
c0acccc3 |
| 26-Jan-2016 |
antirez <[email protected]> |
Cluster: mismatch sender ID log put back at DEBUG level.
|
| #
7f97d75e |
| 26-Jan-2016 |
antirez <[email protected]> |
Cluster: fix missing ntohs() call to access gossip section port.
|
| #
bd998b7d |
| 26-Jan-2016 |
antirez <[email protected]> |
Better address udpate strategy when processing gossip sections.
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
Better address udpate strategy when processing gossip sections.
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.
show more ...
|
|
Revision tags: 3.0.7, 3.2.0-rc2 |
|
| #
33c4da4a |
| 19-Jan-2016 |
antirez <[email protected]> |
Minor MIGRATE refactoring.
Centralize cleanup of newargv in a single place. Add more comments to help a bit following a complex function.
Related to issue #3016.
|
| #
5a5e3231 |
| 19-Jan-2016 |
antirez <[email protected]> |
More variadic MIGRATE fixes.
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 so
More variadic MIGRATE fixes.
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.
show more ...
|
| #
77837a91 |
| 18-Jan-2016 |
antirez <[email protected]> |
Various fixes to MIGRATE with multiple keys.
In issue #3016 Kevin McGehee identified multiple very serious issues in the new implementation of MIGRATE. This commit attempts to restructure the code i
Various fixes to MIGRATE with multiple keys.
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.
show more ...
|
| #
c9889461 |
| 14-Jan-2016 |
antirez <[email protected]> |
Cluster: fix setting nodes slaveof pointer to NULL on node release.
With this commit we preserve the list of nodes that have .slaveof set to the node, even when the node is turned into a slave, and
Cluster: fix setting nodes slaveof pointer to NULL on node release.
With this commit we preserve the list of nodes that have .slaveof set to the node, even when the node is turned into a slave, and make sure to fix the .slaveof pointers to NULL when a node is freed from memory, regardless of the fact it's a slave or a master.
Basically we try to remember the logical master in the current configuration even if the logical master advertised it as a slave already. However we still remember the associations, so that when a node is freed we can fix them.
This should fix issue #3002.
show more ...
|
| #
ace53e89 |
| 11-Jan-2016 |
antirez <[email protected]> |
CLUSTER BUMPEPOCH initial implementation fixed.
|
| #
90a79bc1 |
| 11-Jan-2016 |
antirez <[email protected]> |
Cluster: CLUSTER BUMPEPOCH introduced to help redis-trib fix.
Sometimes during "fixes" we have to setup a new configuration and assign slots to nodes. With BUMPEPOCH we can make sure the new configu
Cluster: CLUSTER BUMPEPOCH introduced to help redis-trib fix.
Sometimes during "fixes" we have to setup a new configuration and assign slots to nodes. With BUMPEPOCH we can make sure the new configuration of the node will win if there are conflicting configurations (for example another node is *also* claiming the same slot because the cluster is totally messed up).
show more ...
|
| #
6ce536db |
| 11-Jan-2016 |
antirez <[email protected]> |
Cluster: don't allow CLUSTER SETSLOT with slaves.
|
| #
a7ec6d1f |
| 19-Jan-2016 |
antirez <[email protected]> |
Cluster: check packets length before accessing far fields.
|
| #
d975baa3 |
| 08-Jan-2016 |
antirez <[email protected]> |
Allow MIGRATE to always be called on local keys for open slots.
Extend the MIGRATE extra freedom to be able to be called in the context of the local slot, anytime there is a slot open in one or the
Allow MIGRATE to always be called on local keys for open slots.
Extend the MIGRATE extra freedom to be able to be called in the context of the local slot, anytime there is a slot open in one or the other direction (importing or migrating). This is useful for redis-trib to fix the cluster when it has in an odd state.
Thix fix allows "redis-trib fix" to make its work in certain cases where previously an error was reported.
show more ...
|
| #
515bbdfc |
| 08-Jan-2016 |
antirez <[email protected]> |
Fix typos & grammar in clusterBumpConfigEpochWithoutConsensus() comment.
|
| #
b18e42b2 |
| 06-Jan-2016 |
antirez <[email protected]> |
Cluster: don't send -ASK to MIGRATE.
For non existing keys, we don't want to send -ASK redirections to MIGRATE, since when moving slots from the migrating node to the importing node, we want just to
Cluster: don't send -ASK to MIGRATE.
For non existing keys, we don't want to send -ASK redirections to MIGRATE, since when moving slots from the migrating node to the importing node, we want just to ignore keys that are no longer there. They may be expired or deleted between the GETKEYSINSLOT call and the MIGRATE call. Otherwise this causes an error during migrations with redis-trib (or equivalent cluster management tools).
show more ...
|
|
Revision tags: 3.2-rc1, 3.0.6, 2.8.24 |
|
| #
ef92f90d |
| 16-Dec-2015 |
antirez <[email protected]> |
Suppress harmless warnings.
|
| #
884ce38b |
| 11-Dec-2015 |
antirez <[email protected]> |
MIGRATE: Fix new argument rewriting refcount handling.
|
| #
2b74b985 |
| 11-Dec-2015 |
antirez <[email protected]> |
MIGRATE: fix replies processing and argument rewriting.
We need to process replies after errors in order to delete keys successfully transferred. Also argument rewriting was fixed since it was broke
MIGRATE: fix replies processing and argument rewriting.
We need to process replies after errors in order to delete keys successfully transferred. Also argument rewriting was fixed since it was broken in several ways. Now a fresh argument vector is created and set if we are acknowledged of at least one key.
show more ...
|
| #
d5e32fb1 |
| 11-Dec-2015 |
antirez <[email protected]> |
Pipelined multiple keys MIGRATE.
|
| #
6b8a6c2a |
| 11-Dec-2015 |
antirez <[email protected]> |
Cluster: replica migration with delay.
We wait a fixed amount of time (5 seconds currently) much greater than the usual Cluster node to node communication latency, before migrating. This way when a
Cluster: replica migration with delay.
We wait a fixed amount of time (5 seconds currently) much greater than the usual Cluster node to node communication latency, before migrating. This way when a failover occurs, before detecting the new master as a target for migration, we give the time to its natural slaves (the slaves of the failed over master) to announce they switched to the new master, preventing an useless migration operation.
show more ...
|
| #
50ca1398 |
| 10-Dec-2015 |
antirez <[email protected]> |
Remove debugging message left there for error.
|