Skip to content

Commit 7c6e288

Browse files
committed
Redis 3.2.2.
1 parent 0a45fbc commit 7c6e288

File tree

2 files changed

+190
-1
lines changed

2 files changed

+190
-1
lines changed

00-RELEASENOTES

Lines changed: 189 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,195 @@ HIGH: There is a critical bug that may affect a subset of users. Upgrade!
1010
CRITICAL: There is a critical bug affecting MOST USERS. Upgrade ASAP.
1111
--------------------------------------------------------------------------------
1212

13+
================================================================================
14+
Redis 3.2.2 Released Thu Jul 28 14:14:54 CEST 2016
15+
================================================================================
16+
17+
Upgrade urgency MODERATE: A Redis server and a Sentinel crash are now fixed.
18+
GEORADIUS errors in reported entries are fixed.
19+
20+
Hi all! Redis 3.2.2 is finally out with non trivial bugfixes and a few new
21+
features. Let's start from the bugs:
22+
23+
1. There was a bug in the List type implementation, able to cause the
24+
crash of the server under certain (non trivial to replicate) circumstances
25+
when the LSET command was used. Now the bug is fixed and a new stress tester
26+
that was able to easily trigger the bug was added to the test suite.
27+
28+
2. Redis Sentinel, when monitoring multiple masters, could crash after
29+
a Sentinel address update event.
30+
31+
3. Redis Sentinel now checks slaves INFO state more often when disconnected.
32+
This is not really a bug fix, but may allow to more easily detect that
33+
a slave is able to fail over its master reducing certain delays.
34+
35+
4. It was possible, under a variety of conditions, that the AOF and RDB children
36+
process could spawn at the same time. This is known to trash disk I/O,
37+
AOF performances, and to ultimately create latency in the Redis server.
38+
Normally Redis avoids to have the two writing children at the same time, but
39+
there were edge cases discovered by Oran Agra (that also co-authored the
40+
fix with me) where the double-fork could happen. In order to fix this bug
41+
non trivial changes to the replication code were operated, however it was
42+
important to back port this fix into 3.2.2 because the bug could lead to
43+
bad latency experiences in certain cases.
44+
45+
5. Many GEORADIUS bugs are now fixed \o/. This started as a failing CI
46+
test. I grepped for more clues and there were a number of random failures
47+
in the points reported by GEORADIUS. The errors were found to be related
48+
to three different bugs (one of these was a bug in the test itself).
49+
It's not a critical bug: the effect is to, sometimes, don't report objects
50+
that are near the radius, but only with specific sets of coordinates
51+
and radius settings. However now the issues are fixed and the error
52+
vectors were added as regression tests.
53+
54+
And now the good news (not that bug fixes are not good...), that is, the
55+
new features!
56+
57+
1. Now slaves support the slave-announce-ip and slave-announce-port options.
58+
Using these features a slave can be reported by the master `INFO` output
59+
and `ROLE` command as having arbitrary IP and port. This allows to have
60+
Sentinel deployments when working with containers or NAT-ed environments
61+
more easily.
62+
63+
2. The RDB check utlity is now part of Redis and uses the same RDB code that
64+
Redis uses in order to load the dataset in memory, so a given version
65+
of Redis is always able to check the RDB it produced... without another
66+
external check tool which is supposed to be taken in sync with the
67+
rdb.c implementation. This in turn also means that the new RDB checking
68+
is able to spot more complex bugs, since it really loads the dataset
69+
instead of just skipping bytes.
70+
71+
About the redis-check-dump utility, now it is also able to show certain
72+
information about the RDB file, like the version that produced it, when
73+
it was produced, and so forth. Example:
74+
75+
./redis-check-rdb dump.rdb
76+
[offset 0] Checking RDB file dump.rdb
77+
[offset 32] AUX FIELD redis-ver = '3.2.2'
78+
[offset 46] AUX FIELD redis-bits = '64'
79+
[offset 58] AUX FIELD ctime = '1469710178'
80+
[offset 73] AUX FIELD used-mem = '1186528'
81+
82+
The ability to check how much memory was used by the instance that produced
83+
the RDB file can be especially useful.
84+
85+
For credits and the full change log, see the list of commits below, that was
86+
modified in order to be a bit less verbose compared to the last releases.
87+
88+
Enjoy!
89+
Salvatore
90+
91+
antirez in commit 0a45fbc:
92+
Ability of slave to announce arbitrary ip/port to master.
93+
6 files changed, 129 insertions(+), 17 deletions(-)
94+
95+
antirez in commit c3982c0:
96+
redis-benchmark: new option to show server errors on stdout.
97+
1 file changed, 17 insertions(+), 1 deletion(-)
98+
99+
antirez in commit fdafe23:
100+
Multiple GEORADIUS bugs fixed.
101+
6 files changed, 177 insertions(+), 21 deletions(-)
102+
103+
antirez in commit a1bfe22:
104+
Replication: when possible start RDB saving ASAP.
105+
1 file changed, 8 insertions(+), 2 deletions(-)
106+
107+
antirez in commit 7ca69af:
108+
Sentinel: new test unit 07 that tests master down conditions.
109+
1 file changed, 68 insertions(+)
110+
111+
antirez in commit 5b5e652:
112+
Sentinel: check Slave INFO state more often when disconnected.
113+
2 files changed, 10 insertions(+), 3 deletions(-)
114+
115+
antirez in commit 21cffc2:
116+
Avoid simultaneous RDB and AOF child process.
117+
4 files changed, 51 insertions(+), 8 deletions(-)
118+
119+
antirez in commit 017378e:
120+
Replication: start BGSAVE for replication always in replicationCron().
121+
1 file changed, 15 insertions(+), 12 deletions(-)
122+
123+
antirez in commit 940be9a:
124+
Regression test for issue #3333.
125+
1 file changed, 6 insertions(+)
126+
127+
antirez in commit 21736b4:
128+
getLongLongFromObject: use string2ll() instead of strict_strtoll().
129+
1 file changed, 1 insertion(+), 6 deletions(-)
130+
131+
antirez in commit 0b748e9:
132+
redis-cli: check SELECT reply type just in state updated.
133+
1 file changed, 1 insertion(+), 1 deletion(-)
134+
135+
sskorgal in commit 1158386:
136+
Fix for redis_cli printing default DB when select command fails.
137+
1 file changed, 1 insertion(+), 1 deletion(-)
138+
139+
antirez in commit 026f9fc:
140+
Sentinel: fix cross-master Sentinel address update.
141+
1 file changed, 9 insertions(+), 2 deletions(-)
142+
143+
antirez in commit 11523b3:
144+
CONFIG GET is now no longer case sensitive.
145+
1 file changed, 12 insertions(+), 12 deletions(-)
146+
147+
antirez in commit f5a7f4f:
148+
Fix test for new RDB checksum failure message.
149+
1 file changed, 1 insertion(+), 1 deletion(-)
150+
151+
antirez in commit 4c6ff74:
152+
Make tcp-keepalive default to 300 in internal conf.
153+
1 file changed, 1 insertion(+), 1 deletion(-)
154+
155+
antirez in commit 27dbec2:
156+
In Redis RDB check: more details in error reportings.
157+
1 file changed, 24 insertions(+), 13 deletions(-)
158+
159+
antirez in commit 41f3004:
160+
In Redis RDB check: log decompression errors.
161+
2 files changed, 23 insertions(+), 2 deletions(-)
162+
163+
antirez in commit 278fe3e:
164+
In Redis RDB check: log object type on error.
165+
1 file changed, 27 insertions(+), 2 deletions(-)
166+
167+
antirez in commit a117dfa:
168+
Added a trivial program to randomly corrupt RDB files in /utils.
169+
1 file changed, 44 insertions(+)
170+
171+
antirez in commit f5110c3:
172+
In Redis RDB check: minor output message changes.
173+
1 file changed, 4 insertions(+), 1 deletion(-)
174+
175+
antirez in commit 35b18bf:
176+
In Redis RDB check: better error reporting.
177+
4 files changed, 71 insertions(+), 14 deletions(-)
178+
179+
antirez in commit f578f08:
180+
In Redis RDB check: initial POC.
181+
2 files changed, 189 insertions(+), 647 deletions(-)
182+
183+
tielei in commit 7f1e1ca:
184+
A string with 21 chars is not representable as a 64-bit integer.
185+
1 file changed, 2 insertions(+), 2 deletions(-)
186+
187+
antirez in commit 7a3a595:
188+
Test: new randomized stress tester for #3343 alike bugs.
189+
1 file changed, 27 insertions(+), 2 deletions(-)
190+
191+
antirez in commit c75ca10:
192+
Stress tester WIP.
193+
1 file changed, 3 insertions(+)
194+
195+
antirez in commit 2c3fcf8:
196+
Regression test for issue #3343 exact min crash sequence.
197+
1 file changed, 16 insertions(+)
198+
199+
antirez in commit 7041967:
200+
Fix quicklistReplaceAtIndex() by updating the quicklist ziplist size.
201+
1 file changed, 1 insertion(+)
13202

14203
================================================================================
15204
Redis 3.2.1 Released Fri Jun 17 15:01:56 CEST 2016

src/version.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
#define REDIS_VERSION "3.2.1"
1+
#define REDIS_VERSION "3.2.2"

0 commit comments

Comments
 (0)