pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/databases/redis redis: updated to 5.0.3

branches:  trunk
changeset: 316473:82431c555a9d
user:      adam <>
date:      Thu Dec 13 19:34:33 2018 +0000

redis: updated to 5.0.3

Redis 5.0.3
Upgrade urgency HIGH: Redis 5 is consolidating, upgrading is a good idea.
                      However there is nothing very critical here, but certain
                      issues resolved could lead to very rare crashes.

Welcome to Redis 5.0.3, several interesting bug fixes here:

* Redis no longer panics when you send data to a replica-mode connection that
  is in MONITOR or SYNC mode.

* Fixes to certain sorted set edge cases. You are unlikely to ever notice those
  issues, but now it is more correct.

* Certain BSD variants now are better supported: build & register logging
  on crash.

* The networking core now recovers if an IPv6 address is listed in bind but
  is actually not able to work because there is no such protocol in the

* redis-cli cluster mode improved in many ways. Especially the fix subcommand
  work was enhanced to cover other edge cases that were still not covered
  after the work done for Redis 5.

* MEMORY USAGE is now more accurate.

* DEBUG DIGEST-VALUE added in case you want to make sure a given set of keys
  (and not the whole DB) are excatly the same between two instances.

* Fix a potential crash in the networking code related to recent changes
  to the way the reply is consumed.

* Reject EXEC containing write commands against an instance that changed role
  from master to replica during our transaction.

* Fix a crash in KEYS and other commands using pattern matching, in an edge
  case where the pattern contains a zero byte.

* Fix eviction during AOF loading due to maxmemory triggered by commands
  executed in loading state.

Redis 5.0.2
Upgrade urgency: CRITICAL if you use streams and consumer groups.
                 HIGH if you use redis-cli with Redis Cluster.
                 LOW otherwise.

Welcome to Redis 5.0.2. This release fixes two issues with Streams consumer
groups, where items could be returned duplicated by XREADGROUP when accessing
the history, and another bug where XREADGROUP can report some history even
if the comsumer pending list is empty. Both problems were addressed and unit
tests to avoid regressions implemented. Moreover this release fixes some
issue with redis-cli when in cluster mode. Finally some FreeBSD and DragonFly
build problems are now resolved. The list of the commits is below.

Redis 5.0.1
Upgrade urgency: URGENT if you use Redis Streams. MODERATE otherwise.

Hi all, this is the first patch level release of Redis 5. It contains
both fixes and improvements. Here there is a list of the major ones, however
read the commit messages at the end of the changelog if you want to know
more about the smaller things. Let's start with the new features:

* Sentinel now supports authentication! Check the Sentinel official doc
  for more info.

* Redis-cli cluster "fix" is now able to fix a big number of clusters put
  in a bad condition. Previously many corner cases were not covered.

Now the critical fixes:

1. Fix RESTORE mismatch reply when certain keys already expired.
2. Fix an XCLAIM non trivial issue: sometimes the command returned a wrong
   entry or desynchronized the protocol.

And now the other fixes:

3. Stack trace generation on the Raspberry PI (and 32bit ARM) fixed.
4. Don't evict expired keys when the KEYS command is called, in order to
   avoid a mass deletion event. However expired keys are not displayed
   by KEYS as usually.
5. Improvements in the computation of the memory used, when estimating
   the AOF buffers.
6. XRANGE COUNT of 0 fixed.
7. "key misses" stats accounting fixed. Many cache misses were not counted.
8. When in MULTI state, return OOM while accumulating commands and there
   is no longer memory available.
9. Fix build on FreeBSD and possibly others.
10. Fix a crash in Redis modules, thread safe context reply accumulation.
11. Fix a race condition when producing the RDB file for full SYNC.
12. Disable protected mode in Sentinel.
13. More commands now have the HELP subcommand.
14. Fixed an issue about adaptive server HZ timer.
15. Fix cluster-replica-no-failover option name.

Redis 5.0.0
Upgrade urgency CRITICAL: Several fixes to streams AOF and replication.

1. The new Stream data type.
2. New Redis modules APIs: Timers, Cluster and Dictionary APIs.
3. RDB now store LFU and LRU information.
4. The cluster manager was ported from Ruby (redis-trib.rb) to C code
   inside redis-cli. Check `redis-cli --cluster help` for more info.
5. New sorted set commands: ZPOPMIN/MAX and blocking variants.
6. Active defragmentation version 2.
7. Improvemenets in HyperLogLog implementations.
8. Better memory reporting capabilities.
9. Many commands with sub-commands now have an HELP subcommand.
10. Better performances when clients connect and disconnect often.
11. Many bug fixes and other random improvements.
12. Jemalloc was upgraded to version 5.1
14. The LOLWUT command was added.
15. We no longer use the "slave" word if not for API backward compatibility.
16. Differnet optimizations in the networking layer.
17. Lua improvements:
    - Better propagation of Lua scripts to replicas / AOF.
    - Lua scripts can now timeout and get in -BUSY state in the replica as well.
18. Dynamic HZ to balance idle CPU usage with responsiveness.
19. The Redis core was refactored and improved in many ways.


 databases/redis/Makefile         |    8 +-
 databases/redis/PLIST            |  125 +--------------------------------------
 databases/redis/distinfo         |   14 ++--
 databases/redis/patches/patch-ab |   36 -----------
 databases/redis/patches/patch-ac |   42 -------------
 5 files changed, 11 insertions(+), 214 deletions(-)

diffs (273 lines):

diff -r 2357eb02b3cd -r 82431c555a9d databases/redis/Makefile
--- a/databases/redis/Makefile  Thu Dec 13 19:24:08 2018 +0000
+++ b/databases/redis/Makefile  Thu Dec 13 19:34:33 2018 +0000
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.40 2018/08/19 08:39:36 adam Exp $
+# $NetBSD: Makefile,v 1.41 2018/12/13 19:34:33 adam Exp $
-DISTNAME=      redis-4.0.11
+DISTNAME=      redis-5.0.3
 CATEGORIES=    databases
@@ -10,7 +10,7 @@
 LICENSE=       modified-bsd
 USE_LANGUAGES=         c99
-USE_TOOLS+=            gmake pax
+USE_TOOLS+=            gmake
 .include "../../mk/"
@@ -65,8 +65,6 @@
 .for file in ${DOCFILES}
        ${INSTALL_DATA} ${WRKSRC}/${file} ${DESTDIR}${PREFIX}/${DOCDIR}/${file}
-       cd ${WRKSRC}/utils && pax -rwpp . ${DESTDIR}${EGDIR}/utils/
-       cd ${WRKSRC}/tests && pax -rwpp . ${DESTDIR}${EGDIR}/tests/
        cd ${WRKSRC} && ${SH} runtest
diff -r 2357eb02b3cd -r 82431c555a9d databases/redis/PLIST
--- a/databases/redis/PLIST     Thu Dec 13 19:24:08 2018 +0000
+++ b/databases/redis/PLIST     Thu Dec 13 19:34:33 2018 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.13 2018/04/04 10:47:49 fhajny Exp $
+@comment $NetBSD: PLIST,v 1.14 2018/12/13 19:34:33 adam Exp $
@@ -10,126 +10,3 @@
diff -r 2357eb02b3cd -r 82431c555a9d databases/redis/distinfo
--- a/databases/redis/distinfo  Thu Dec 13 19:24:08 2018 +0000
+++ b/databases/redis/distinfo  Thu Dec 13 19:34:33 2018 +0000
@@ -1,10 +1,10 @@
-$NetBSD: distinfo,v 1.41 2018/08/19 08:39:36 adam Exp $
+$NetBSD: distinfo,v 1.42 2018/12/13 19:34:33 adam Exp $
-SHA1 (redis-4.0.11.tar.gz) = a13ccf0f7051f82dc1c979bd94f0b9a9ba039122
-RMD160 (redis-4.0.11.tar.gz) = 30aff2b0b9250f5db6c074796bdc40feb1802e68
-SHA512 (redis-4.0.11.tar.gz) = f0054af9ca2143731a397b2b21285387707b7f40d9326ba15225feb1a2ff470fab5194308342f63bbe1081f84c7e9ef19543c5a8e3eae49e17bfc515c64201f0
-Size (redis-4.0.11.tar.gz) = 1739656 bytes
-SHA1 (patch-ab) = f8d2d20a5ae49ecd49a452b6e260f5a37b0d52e0
-SHA1 (patch-ac) = 758bb6c2da7f6822d19fd5f93409997933fd874a
+SHA1 (redis-5.0.3.tar.gz) = a43c24ea6365482323b78e21752d610756efcc39
+RMD160 (redis-5.0.3.tar.gz) = 676d1db2d5e606047a8ed6a0ffdccbcea3aa89bc
+SHA512 (redis-5.0.3.tar.gz) = 5915b14502438bf7c3f56e38640dda54b095bd87501aefa6e386c9cef48e8d1e625e980643d128d91b8cab26dd51d5d99ca66fa638dc04e5ba315fe43f11f58b
+Size (redis-5.0.3.tar.gz) = 1959445 bytes
+SHA1 (patch-redis.conf) = 528c28e2b7483eb20ccab8f2ab9543822792f016
+SHA1 (patch-src_Makefile) = 2c4f6d822980874cc9ff95d239040985fa364649
 SHA1 (patch-src_hyperloglog.c) = 65a4a220ccd4282162c50293f4fe278a43b84239
 SHA1 (patch-src_object.c) = 30ffaec9c7e6135e3a5576cd1a35d7bcec668299
diff -r 2357eb02b3cd -r 82431c555a9d databases/redis/patches/patch-ab
--- a/databases/redis/patches/patch-ab  Thu Dec 13 19:24:08 2018 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-$NetBSD: patch-ab,v 1.5 2017/08/02 19:53:37 fhajny Exp $
-Add DESTDIR support. Fix NetBSD support.
---- src/Makefile.orig  2017-07-24 13:58:34.000000000 +0000
-+++ src/Makefile
-@@ -25,8 +25,8 @@ WARN=-Wall -W -Wno-missing-field-initial
- PREFIX?=/usr/local
- # Default allocator defaults to Jemalloc if it's not an ARM
- MALLOC=libc
-@@ -94,6 +94,10 @@ ifeq ($(uname_S),OpenBSD)
-       # OpenBSD
-       FINAL_LIBS+= -lpthread
- else
-+ifeq ($(uname_S),NetBSD)
-+      # NetBSD
-+      FINAL_LIBS+= -lpthread
- ifeq ($(uname_S),FreeBSD)
-       # FreeBSD
-       FINAL_LIBS+= -lpthread
-@@ -104,6 +108,7 @@ else
- endif
- endif
- endif
- endif
- endif
- # Include paths to dependencies
diff -r 2357eb02b3cd -r 82431c555a9d databases/redis/patches/patch-ac
--- a/databases/redis/patches/patch-ac  Thu Dec 13 19:24:08 2018 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-$NetBSD: patch-ac,v 1.7 2018/08/02 14:47:34 adam Exp $
-Sane defaults for the config file.
---- redis.conf.orig    2016-06-17 13:15:21.000000000 +0000
-+++ redis.conf
-@@ -125,7 +125,7 @@ tcp-keepalive 300
- # By default Redis does not run as a daemon. Use 'yes' if you need it.
- # Note that Redis will write a pid file in /var/run/ when daemonized.
--daemonize no
-+daemonize yes
- # If you run Redis from upstart or systemd, Redis can interact with your
- # supervision tree. Options:
-@@ -147,7 +147,7 @@ supervised no
- #
- # Creating a pid file is best effort: if Redis is not able to create it
- # nothing bad happens, the server will start and run normally.
--pidfile /var/run/
-+pidfile @REDIS_PIDDIR@/
- # Specify the server verbosity level.
- # This can be one of:
-@@ -160,7 +160,7 @@ loglevel notice
- # Specify the log file name. Also the empty string can be used to force
- # Redis to log on the standard output. Note that if you use standard
- # output for logging but daemonize, logs will be sent to /dev/null
--logfile ""
-+logfile @REDIS_LOGDIR@/redis.log
- # To enable logging to the system logger, just set 'syslog-enabled' to yes,
- # and optionally update the other syslog parameters to suit your needs.
-@@ -244,7 +244,7 @@ dbfilename dump.rdb
- # The Append Only File will also be created inside this directory.
- #
- # Note that you must specify a directory here, not a file name.
--dir ./
- ################################# REPLICATION #################################

Home | Main Index | Thread Index | Old Index