[ANN] Redis 4.0.3 is out, CRITICAL UPGRADE

63 views
Skip to first unread message

Salvatore Sanfilippo

unread,
Nov 30, 2017, 7:48:44 AM11/30/17
to redi...@googlegroups.com
Hi all, Redis 4.0.3 is out, this is the full changelog:
https://raw.githubusercontent.com/antirez/redis/4.0/00-RELEASENOTES

Copied inline below for your convenience. Note the big list of
contributors. Thanks everyone for the support in this release! Redis
is more and more the fruit of a cooperation between many devs.

Upgrade urgency CRITICAL: Several PSYNC2 bugs can corrupt the slave data set
after a restart and a successful PSYNC2 handshake.

Hi all, Redis 4.0.3 contains several bug fixes to different parts of Redis 4.0,
but the highlight is definitely in the "PSYNC after restart" that the new
RDB format, containing replication metadata information, was able to provide
to Redis 4.0. There were several bugs that are addressed in this release.
Moreover several LFU fixes improve the ability of Redis to correctly estimate
the popularity of keys. This release also fixes important bugs in Redis modules,
including bugs related to replication of modules commands, reloading the same
module multiple times, and other related things. Finally there is even a
security fix related to loading a corrupted Cluster state from a corrupted
file. We advice to upgrade ASAP. Check the list of commits for credits, several
people helped a lot in this release. I'm grateful to each of them.

Cheers,
Salvatore

antirez in commit d766322e:
LFU: Fix LFUDecrAndReturn() to just decrement.
1 file changed, 3 insertions(+), 13 deletions(-)

zhaozhao.zz in commit 6544796a:
LFU: add hotkeys option to redis-cli
1 file changed, 135 insertions(+)

zhaozhao.zz in commit e2355c19:
LFU: do some changes about LFU to find hotkeys
4 files changed, 39 insertions(+), 19 deletions(-)

zhaozhao.zz in commit 22969a13:
LFU: change lfu* parameters to int
2 files changed, 3 insertions(+), 3 deletions(-)

zhaozhao.zz in commit 6b71f714:
LFU: fix the missing of config get and rewrite
1 file changed, 6 insertions(+), 2 deletions(-)

Felix Krause in commit 2090052e:
Update link to https and use inline link
1 file changed, 1 insertion(+), 1 deletion(-)

Bo Cai in commit a75f2025:
redis-cli.c typo: Requets -> Requests.
1 file changed, 1 insertion(+), 1 deletion(-)

Bo Cai in commit 76aab08f:
redis-cli.c typo: helpe -> helper.
1 file changed, 1 insertion(+), 1 deletion(-)

Sébastien Fievet in commit b6fe5074:
Fix some typos
1 file changed, 3 insertions(+), 3 deletions(-)

antirez in commit eda5cb0a:
t_hash.c: clarify calling two times the same function.
1 file changed, 2 insertions(+), 2 deletions(-)

antirez in commit 4a60fbd8:
adlist: fix listJoin() in the case the second list is empty.
1 file changed, 1 insertion(+), 1 deletion(-)

Chris Lamb in commit 060eb3b2:
Correct spelling of "faield".
1 file changed, 1 insertion(+), 1 deletion(-)

antirez in commit 3c942b12:
Improve OBJECT HELP descriptions.
1 file changed, 2 insertions(+), 2 deletions(-)

antirez in commit 6b6a83c7:
Fix entry command table entry for OBJECT for HELP option.
1 file changed, 1 insertion(+), 1 deletion(-)

Itamar Haber in commit 048097ad:
Adds `OBJECT help`
1 file changed, 18 insertions(+), 3 deletions(-)

David Carlier in commit 906134fe:
Fix undefined behavior constant defined.
2 files changed, 10 insertions(+), 2 deletions(-)

rouzier in commit 03657e88:
Fix file descriptor leak and error handling
1 file changed, 6 insertions(+), 3 deletions(-)

Itamar Haber in commit 52fda013:
Prevents `OBJECT freq` with `noeviction`
1 file changed, 2 insertions(+), 2 deletions(-)

Itamar Haber in commit 15bc8e97:
Adds -u <uri> option to redis-cli.
1 file changed, 89 insertions(+)

antirez in commit f30454c1:
Test: regression test for latency expire events logging bug.
1 file changed, 14 insertions(+)

zhaozhao.zz in commit 1e7227f4:
expire & latency: fix the missing latency records generated by expire
1 file changed, 11 insertions(+), 8 deletions(-)

antirez in commit 9524fce0:
Modules: fix memory leak in RM_IsModuleNameBusy().
1 file changed, 3 insertions(+), 7 deletions(-)

antirez in commit 2a27da1c:
PSYNC2: reorganize comments related to recent fixes.
2 files changed, 24 insertions(+), 26 deletions(-)

zhaozhao.zz in commit e0c2a0ec:
PSYNC2: persist cached_master's dbid inside the RDB
1 file changed, 16 insertions(+), 2 deletions(-)

zhaozhao.zz in commit 2eca8aed:
PSYNC2: make repl_stream_db never be -1
1 file changed, 6 insertions(+), 9 deletions(-)

zhaozhao.zz in commit 35942383:
PSYNC2: clarify the scenario when repl_stream_db can be -1
2 files changed, 21 insertions(+), 9 deletions(-)

zhaozhao.zz in commit be1b9ee0:
PSYNC2 & RDB: fix the missing rdbSaveInfo for BGSAVE
1 file changed, 4 insertions(+), 1 deletion(-)

zhaozhao.zz in commit 9f69e179:
PSYNC2: safe free backlog when reach the time limit
1 file changed, 12 insertions(+)

zhaozhao.zz in commit 0205dd01:
Modules: handle the busy module name
2 files changed, 19 insertions(+), 2 deletions(-)

zhaozhao.zz in commit 3cce566e:
Modules: handle the conflict of registering commands
1 file changed, 28 insertions(+), 21 deletions(-)

Oran Agra in commit d01f163c:
fix string to double conversion, stopped parsing on \0 even if the
string has more data.
2 files changed, 9 insertions(+), 2 deletions(-)

antirez in commit 9a3e15c6:
Modules: fix for scripting replication of modules commands.
2 files changed, 9 insertions(+), 7 deletions(-)

Yossi Gottlieb in commit fa87879b:
Nested MULTI/EXEC may replicate in different cases.
2 files changed, 10 insertions(+)

zhaozhao.zz in commit bc7076b0:
rehash: handle one db until finished
1 file changed, 5 insertions(+), 2 deletions(-)

kmiku7 in commit 7675b00a:
fix boundary case for _dictNextPower
1 file changed, 1 insertion(+), 1 deletion(-)

Itamar Haber in commit f31d9b12:
Fixes an off-by-one in argument handling of `MEMORY USAGE`
1 file changed, 1 insertion(+), 1 deletion(-)

antirez in commit 897d8571:
SDS: improve sdsRemoveFreeSpace() to avoid useless data copy.
1 file changed, 12 insertions(+), 5 deletions(-)

antirez in commit 1ee6af4d:
Fix saving of zero-length lists.
1 file changed, 3 insertions(+), 2 deletions(-)

antirez in commit 1740300f:
Fix buffer overflows occurring reading redis.conf.
1 file changed, 3 insertions(+)

antirez in commit b25c2451:
Regression test for issue #4391.
1 file changed, 4 insertions(+)

antirez in commit 1847b987:
More robust object -> double conversion.
1 file changed, 8 insertions(+), 4 deletions(-)

antirez in commit c94cd1d8:
Limit statement in RM_BlockClient() to 80 cols.
1 file changed, 5 insertions(+), 4 deletions(-)

Dvir Volk in commit 193e4acc:
Added safety net preventing redis from crashing if a module decide to
block in MULTI
1 file changed, 8 insertions(+), 5 deletions(-)

Dvir Volk in commit d131921c:
Renamed GetCtxFlags to GetContextFlags
3 files changed, 11 insertions(+), 11 deletions(-)

Dvir Volk in commit 2e71edcc:
Added support for module context flags with RM_GetCtxFlags
3 files changed, 177 insertions(+)



--
Salvatore 'antirez' Sanfilippo
open source developer - Redis Labs https://redislabs.com

"If a system is to have conceptual integrity, someone must control the
concepts."
— Fred Brooks, "The Mythical Man-Month", 1975.

Salvatore Sanfilippo

unread,
Nov 30, 2017, 9:14:03 AM11/30/17
to redi...@googlegroups.com
Sorry, for a mistake not all the PSYNC2 fixes went into 4.0.3! I
forgot to merge one, my fault... the two computers home/office setup
is still tricky and I merged only locally at home. Please wait for
4.0.4 before upgrading.

Salvatore Sanfilippo

unread,
Nov 30, 2017, 12:51:01 PM11/30/17
to redi...@googlegroups.com
4.0.4 is finally out from usual sources.

Cheers,
Salvatore
Reply all
Reply to author
Forward
0 new messages