mirror of
http://github.com/valkey-io/valkey
synced 2024-11-22 00:52:38 +00:00
Redis 3.2.2.
This commit is contained in:
parent
0a45fbc302
commit
7c6e288d76
189
00-RELEASENOTES
189
00-RELEASENOTES
@ -10,6 +10,195 @@ HIGH: There is a critical bug that may affect a subset of users. Upgrade!
|
||||
CRITICAL: There is a critical bug affecting MOST USERS. Upgrade ASAP.
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
================================================================================
|
||||
Redis 3.2.2 Released Thu Jul 28 14:14:54 CEST 2016
|
||||
================================================================================
|
||||
|
||||
Upgrade urgency MODERATE: A Redis server and a Sentinel crash are now fixed.
|
||||
GEORADIUS errors in reported entries are fixed.
|
||||
|
||||
Hi all! Redis 3.2.2 is finally out with non trivial bugfixes and a few new
|
||||
features. Let's start from the bugs:
|
||||
|
||||
1. There was a bug in the List type implementation, able to cause the
|
||||
crash of the server under certain (non trivial to replicate) circumstances
|
||||
when the LSET command was used. Now the bug is fixed and a new stress tester
|
||||
that was able to easily trigger the bug was added to the test suite.
|
||||
|
||||
2. Redis Sentinel, when monitoring multiple masters, could crash after
|
||||
a Sentinel address update event.
|
||||
|
||||
3. Redis Sentinel now checks slaves INFO state more often when disconnected.
|
||||
This is not really a bug fix, but may allow to more easily detect that
|
||||
a slave is able to fail over its master reducing certain delays.
|
||||
|
||||
4. It was possible, under a variety of conditions, that the AOF and RDB children
|
||||
process could spawn at the same time. This is known to trash disk I/O,
|
||||
AOF performances, and to ultimately create latency in the Redis server.
|
||||
Normally Redis avoids to have the two writing children at the same time, but
|
||||
there were edge cases discovered by Oran Agra (that also co-authored the
|
||||
fix with me) where the double-fork could happen. In order to fix this bug
|
||||
non trivial changes to the replication code were operated, however it was
|
||||
important to back port this fix into 3.2.2 because the bug could lead to
|
||||
bad latency experiences in certain cases.
|
||||
|
||||
5. Many GEORADIUS bugs are now fixed \o/. This started as a failing CI
|
||||
test. I grepped for more clues and there were a number of random failures
|
||||
in the points reported by GEORADIUS. The errors were found to be related
|
||||
to three different bugs (one of these was a bug in the test itself).
|
||||
It's not a critical bug: the effect is to, sometimes, don't report objects
|
||||
that are near the radius, but only with specific sets of coordinates
|
||||
and radius settings. However now the issues are fixed and the error
|
||||
vectors were added as regression tests.
|
||||
|
||||
And now the good news (not that bug fixes are not good...), that is, the
|
||||
new features!
|
||||
|
||||
1. Now slaves support the slave-announce-ip and slave-announce-port options.
|
||||
Using these features a slave can be reported by the master `INFO` output
|
||||
and `ROLE` command as having arbitrary IP and port. This allows to have
|
||||
Sentinel deployments when working with containers or NAT-ed environments
|
||||
more easily.
|
||||
|
||||
2. The RDB check utlity is now part of Redis and uses the same RDB code that
|
||||
Redis uses in order to load the dataset in memory, so a given version
|
||||
of Redis is always able to check the RDB it produced... without another
|
||||
external check tool which is supposed to be taken in sync with the
|
||||
rdb.c implementation. This in turn also means that the new RDB checking
|
||||
is able to spot more complex bugs, since it really loads the dataset
|
||||
instead of just skipping bytes.
|
||||
|
||||
About the redis-check-dump utility, now it is also able to show certain
|
||||
information about the RDB file, like the version that produced it, when
|
||||
it was produced, and so forth. Example:
|
||||
|
||||
./redis-check-rdb dump.rdb
|
||||
[offset 0] Checking RDB file dump.rdb
|
||||
[offset 32] AUX FIELD redis-ver = '3.2.2'
|
||||
[offset 46] AUX FIELD redis-bits = '64'
|
||||
[offset 58] AUX FIELD ctime = '1469710178'
|
||||
[offset 73] AUX FIELD used-mem = '1186528'
|
||||
|
||||
The ability to check how much memory was used by the instance that produced
|
||||
the RDB file can be especially useful.
|
||||
|
||||
For credits and the full change log, see the list of commits below, that was
|
||||
modified in order to be a bit less verbose compared to the last releases.
|
||||
|
||||
Enjoy!
|
||||
Salvatore
|
||||
|
||||
antirez in commit 0a45fbc:
|
||||
Ability of slave to announce arbitrary ip/port to master.
|
||||
6 files changed, 129 insertions(+), 17 deletions(-)
|
||||
|
||||
antirez in commit c3982c0:
|
||||
redis-benchmark: new option to show server errors on stdout.
|
||||
1 file changed, 17 insertions(+), 1 deletion(-)
|
||||
|
||||
antirez in commit fdafe23:
|
||||
Multiple GEORADIUS bugs fixed.
|
||||
6 files changed, 177 insertions(+), 21 deletions(-)
|
||||
|
||||
antirez in commit a1bfe22:
|
||||
Replication: when possible start RDB saving ASAP.
|
||||
1 file changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
antirez in commit 7ca69af:
|
||||
Sentinel: new test unit 07 that tests master down conditions.
|
||||
1 file changed, 68 insertions(+)
|
||||
|
||||
antirez in commit 5b5e652:
|
||||
Sentinel: check Slave INFO state more often when disconnected.
|
||||
2 files changed, 10 insertions(+), 3 deletions(-)
|
||||
|
||||
antirez in commit 21cffc2:
|
||||
Avoid simultaneous RDB and AOF child process.
|
||||
4 files changed, 51 insertions(+), 8 deletions(-)
|
||||
|
||||
antirez in commit 017378e:
|
||||
Replication: start BGSAVE for replication always in replicationCron().
|
||||
1 file changed, 15 insertions(+), 12 deletions(-)
|
||||
|
||||
antirez in commit 940be9a:
|
||||
Regression test for issue #3333.
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
antirez in commit 21736b4:
|
||||
getLongLongFromObject: use string2ll() instead of strict_strtoll().
|
||||
1 file changed, 1 insertion(+), 6 deletions(-)
|
||||
|
||||
antirez in commit 0b748e9:
|
||||
redis-cli: check SELECT reply type just in state updated.
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
sskorgal in commit 1158386:
|
||||
Fix for redis_cli printing default DB when select command fails.
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
antirez in commit 026f9fc:
|
||||
Sentinel: fix cross-master Sentinel address update.
|
||||
1 file changed, 9 insertions(+), 2 deletions(-)
|
||||
|
||||
antirez in commit 11523b3:
|
||||
CONFIG GET is now no longer case sensitive.
|
||||
1 file changed, 12 insertions(+), 12 deletions(-)
|
||||
|
||||
antirez in commit f5a7f4f:
|
||||
Fix test for new RDB checksum failure message.
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
antirez in commit 4c6ff74:
|
||||
Make tcp-keepalive default to 300 in internal conf.
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
antirez in commit 27dbec2:
|
||||
In Redis RDB check: more details in error reportings.
|
||||
1 file changed, 24 insertions(+), 13 deletions(-)
|
||||
|
||||
antirez in commit 41f3004:
|
||||
In Redis RDB check: log decompression errors.
|
||||
2 files changed, 23 insertions(+), 2 deletions(-)
|
||||
|
||||
antirez in commit 278fe3e:
|
||||
In Redis RDB check: log object type on error.
|
||||
1 file changed, 27 insertions(+), 2 deletions(-)
|
||||
|
||||
antirez in commit a117dfa:
|
||||
Added a trivial program to randomly corrupt RDB files in /utils.
|
||||
1 file changed, 44 insertions(+)
|
||||
|
||||
antirez in commit f5110c3:
|
||||
In Redis RDB check: minor output message changes.
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
antirez in commit 35b18bf:
|
||||
In Redis RDB check: better error reporting.
|
||||
4 files changed, 71 insertions(+), 14 deletions(-)
|
||||
|
||||
antirez in commit f578f08:
|
||||
In Redis RDB check: initial POC.
|
||||
2 files changed, 189 insertions(+), 647 deletions(-)
|
||||
|
||||
tielei in commit 7f1e1ca:
|
||||
A string with 21 chars is not representable as a 64-bit integer.
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
antirez in commit 7a3a595:
|
||||
Test: new randomized stress tester for #3343 alike bugs.
|
||||
1 file changed, 27 insertions(+), 2 deletions(-)
|
||||
|
||||
antirez in commit c75ca10:
|
||||
Stress tester WIP.
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
antirez in commit 2c3fcf8:
|
||||
Regression test for issue #3343 exact min crash sequence.
|
||||
1 file changed, 16 insertions(+)
|
||||
|
||||
antirez in commit 7041967:
|
||||
Fix quicklistReplaceAtIndex() by updating the quicklist ziplist size.
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
================================================================================
|
||||
Redis 3.2.1 Released Fri Jun 17 15:01:56 CEST 2016
|
||||
|
@ -1 +1 @@
|
||||
#define REDIS_VERSION "3.2.1"
|
||||
#define REDIS_VERSION "3.2.2"
|
||||
|
Loading…
Reference in New Issue
Block a user