pkgsrc-Changes-HG archive

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

[pkgsrc/trunk]: pkgsrc/databases/redis Redis 4.0.1



details:   https://anonhg.NetBSD.org/pkgsrc/rev/c124c0b608ac
branches:  trunk
changeset: 366103:c124c0b608ac
user:      fhajny <fhajny%pkgsrc.org@localhost>
date:      Wed Aug 02 19:53:37 2017 +0000

description:
Redis 4.0.1

Bug fixes:
- Loading two or more modules exporting native data types resulted
  into the inability to reload the RDB file.
- Crash in modules when calling from Lua scripts module commands that
  would block.
- A Redis Cluster crash due to mis-handling of the "migrate-to"
  internal flag.
- Other smaller fixes not worth of a release per se, but nice to add
  here.


Redis 4.0.0

Major features

- Redis modules system. Redis now allows developers to write modules
  that can extend the Redis functionalities and implement new data
  types.
- Partial Replication (PSYNC) version 2.
- Cache eviction improvements. Redis 4.0 implements LFU (Least
  Frequently Used) as a new eviction algorithm, and improves the
  functionality, performances and precision of the existing algorithms.
- Lazy freeing of keys. Redis is now able to delete keys in the
  background in a different thread without blocking the server.
- Mixed RDB-AOF format. If enabled the new format is used when
  rewriting the AOF file: the rewrite uses the more compact and faster
  to generate RDB format, and an AOF stream is appended to the file.
- A new MEMORY command, able to perform memory analysis of different
  kinds: troubleshooting of memory issues (with MEMORY DOCTOR, similar
  to LATENCY DOCTOR), reporting of the amount of memory used by a single
  key, more in-depth reporting of Redis memory usage compared to what
  the INFO command offers.
- Redis Cluster support for NAT / Docker.
- Redis uses now less memory in order to store the same amount of
  data. The gain depends a lot on the kind of dataset stored.
- Redis is now able to defragment the used memory and reclaim space
  incrementally while running.

Smaller features

- Improvements to the RDB format to support 64 bit lengths, binary
  sorted set scores, and more.
- SWAPDB command: ability to completely and immediately (no latency)
  replace two Redis databases.
- Improvements to `dict.c`, the Redis hash table implementation.
- Security improvements mapping POST and Host: commands to QUIT in
  order to prevent cross protocol scripting attacks.
- RPUSHX and LPUSHX now accept a variable number of elements.
- Reporting of additional memory used by copy on write in the INFO
  output.
- Serious refactoring of many core parts of Redis.

Migrating from 3.2 to 4.0

- The Redis Cluster bus protocol of 4.0 is no longer compatible with
  Redis 3.2.
- Redis Cluster CLUSTER NODES output is now slightly different.
- Writable slaves do not propagate writes to their sub-slaves, so
  writes to writable slaves remain just local.
- The RDB format changed. Redis 4.0 is still able to read 3.2 (and all
  the past versions) files, but not the other way around.
- Certain log formats and sentences are different in Redis 4.0.
- Certain INFO fields, especially related to replication, are now
  different.
- GEODIST, GEOPOS and GEOHASH return values changed for non existing
  keys
- The SLOWLOG command entires contain additional two fields: the
  client address and name. This is documented in the SLOWLOG command online
  documentation.

diffstat:

 databases/redis/Makefile                             |   5 ++---
 databases/redis/PLIST                                |  10 +++++++++-
 databases/redis/distinfo                             |  13 ++++++-------
 databases/redis/patches/patch-ab                     |  14 +++++++-------
 databases/redis/patches/patch-deps_hiredis_fmacros.h |  13 -------------
 5 files changed, 24 insertions(+), 31 deletions(-)

diffs (147 lines):

diff -r cf0c6c28a61f -r c124c0b608ac databases/redis/Makefile
--- a/databases/redis/Makefile  Wed Aug 02 17:57:11 2017 +0000
+++ b/databases/redis/Makefile  Wed Aug 02 19:53:37 2017 +0000
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.28 2017/05/31 19:29:26 jlam Exp $
+# $NetBSD: Makefile,v 1.29 2017/08/02 19:53:37 fhajny Exp $
 
-DISTNAME=      redis-3.2.9
-PKGREVISION=   1
+DISTNAME=      redis-4.0.1
 CATEGORIES=    databases
 MASTER_SITES=  http://download.redis.io/releases/
 
diff -r cf0c6c28a61f -r c124c0b608ac databases/redis/PLIST
--- a/databases/redis/PLIST     Wed Aug 02 17:57:11 2017 +0000
+++ b/databases/redis/PLIST     Wed Aug 02 19:53:37 2017 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.11 2016/08/09 09:11:53 fhajny Exp $
+@comment $NetBSD: PLIST,v 1.12 2017/08/02 19:53:37 fhajny Exp $
 bin/redis-benchmark
 bin/redis-check-aof
 bin/redis-check-rdb
@@ -38,6 +38,8 @@
 share/examples/redis/tests/integration/aof.tcl
 share/examples/redis/tests/integration/convert-zipmap-hash-on-load.tcl
 share/examples/redis/tests/integration/logging.tcl
+share/examples/redis/tests/integration/psync2-reg.tcl
+share/examples/redis/tests/integration/psync2.tcl
 share/examples/redis/tests/integration/rdb.tcl
 share/examples/redis/tests/integration/redis-cli.tcl
 share/examples/redis/tests/integration/replication-2.tcl
@@ -76,6 +78,7 @@
 share/examples/redis/tests/unit/introspection.tcl
 share/examples/redis/tests/unit/keyspace.tcl
 share/examples/redis/tests/unit/latency-monitor.tcl
+share/examples/redis/tests/unit/lazyfree.tcl
 share/examples/redis/tests/unit/limits.tcl
 share/examples/redis/tests/unit/maxmemory.tcl
 share/examples/redis/tests/unit/memefficiency.tcl
@@ -99,6 +102,7 @@
 share/examples/redis/tests/unit/type/set.tcl
 share/examples/redis/tests/unit/type/string.tcl
 share/examples/redis/tests/unit/type/zset.tcl
+share/examples/redis/tests/unit/wait.tcl
 share/examples/redis/utils/build-static-symbols.tcl
 share/examples/redis/utils/cluster_fail_time.tcl
 share/examples/redis/utils/corrupt_rdb.c
@@ -106,6 +110,8 @@
 share/examples/redis/utils/create-cluster/README
 share/examples/redis/utils/create-cluster/create-cluster
 share/examples/redis/utils/generate-command-help.rb
+share/examples/redis/utils/graphs/commits-over-time/README.md
+share/examples/redis/utils/graphs/commits-over-time/genhtml.tcl
 share/examples/redis/utils/hashtable/README
 share/examples/redis/utils/hashtable/rehashing.c
 share/examples/redis/utils/hyperloglog/.gitignore
@@ -113,6 +119,7 @@
 share/examples/redis/utils/hyperloglog/hll-gnuplot-graph.rb
 share/examples/redis/utils/install_server.sh
 share/examples/redis/utils/lru/README
+share/examples/redis/utils/lru/lfu-simulation.c
 share/examples/redis/utils/lru/test-lru.rb
 share/examples/redis/utils/redis-copy.rb
 share/examples/redis/utils/redis-sha1.rb
@@ -122,5 +129,6 @@
 share/examples/redis/utils/releasetools/02_upload_tarball.sh
 share/examples/redis/utils/releasetools/03_test_release.sh
 share/examples/redis/utils/releasetools/04_release_hash.sh
+share/examples/redis/utils/releasetools/changelog.tcl
 share/examples/redis/utils/speed-regression.tcl
 share/examples/redis/utils/whatisdoing.sh
diff -r cf0c6c28a61f -r c124c0b608ac databases/redis/distinfo
--- a/databases/redis/distinfo  Wed Aug 02 17:57:11 2017 +0000
+++ b/databases/redis/distinfo  Wed Aug 02 19:53:37 2017 +0000
@@ -1,10 +1,9 @@
-$NetBSD: distinfo,v 1.30 2017/05/18 13:48:28 fhajny Exp $
+$NetBSD: distinfo,v 1.31 2017/08/02 19:53:37 fhajny Exp $
 
-SHA1 (redis-3.2.9.tar.gz) = 8fad759f28bcb14b94254124d824f1f3ed7b6aa6
-RMD160 (redis-3.2.9.tar.gz) = a889d2fd2981be5e5cf05bb399c1df5d8915b338
-SHA512 (redis-3.2.9.tar.gz) = 3cd7af3b58c8c561d8567b54d1f8c5149ac8c68feb48a9780387af97882a3047ab4e77491a3c2bd2ac48f141a1e9610fb0df73e253c97cbae67e0473d9029e1e
-Size (redis-3.2.9.tar.gz) = 1547695 bytes
-SHA1 (patch-ab) = 91678cf71a05cf3d9227bdb5feb8fab57b5e4259
+SHA1 (redis-4.0.1.tar.gz) = 73fe509956a732560c4f385465aa69d705ab5c43
+RMD160 (redis-4.0.1.tar.gz) = 031b9705626d10b14f854a504f6a035b30d530a4
+SHA512 (redis-4.0.1.tar.gz) = 62dec537aebd12340b9642f5f8b07fd98757c9e648dcd539a0411f207db3495923c5a6a9941036c56b2d574ee38b46d08558668111e322345ef549f93fada26f
+Size (redis-4.0.1.tar.gz) = 1711660 bytes
+SHA1 (patch-ab) = f8d2d20a5ae49ecd49a452b6e260f5a37b0d52e0
 SHA1 (patch-ac) = 1d848860a39af7a93a06eb8f3001fe89cb1bb3ad
-SHA1 (patch-deps_hiredis_fmacros.h) = b9d7d0a82e6794078d997769db6e5572f981b445
 SHA1 (patch-src_object.c) = 30ffaec9c7e6135e3a5576cd1a35d7bcec668299
diff -r cf0c6c28a61f -r c124c0b608ac databases/redis/patches/patch-ab
--- a/databases/redis/patches/patch-ab  Wed Aug 02 17:57:11 2017 +0000
+++ b/databases/redis/patches/patch-ab  Wed Aug 02 19:53:37 2017 +0000
@@ -1,10 +1,10 @@
-$NetBSD: patch-ab,v 1.4 2016/11/14 14:30:17 fhajny Exp $
+$NetBSD: patch-ab,v 1.5 2017/08/02 19:53:37 fhajny Exp $
 
 Add DESTDIR support. Fix NetBSD support.
 
---- src/Makefile.orig  2016-10-26 07:17:45.000000000 +0000
+--- src/Makefile.orig  2017-07-24 13:58:34.000000000 +0000
 +++ src/Makefile
-@@ -23,8 +23,8 @@ WARN=-Wall -W
+@@ -25,8 +25,8 @@ WARN=-Wall -W -Wno-missing-field-initial
  OPT=$(OPTIMIZATION)
  
  PREFIX?=/usr/local
@@ -13,9 +13,9 @@
 +INSTALL_BIN=$(DESTDIR)$(PREFIX)/bin
 +INSTALL=$(BSD_INSTALL_PROGRAM)
  
- # Default allocator
- ifeq ($(uname_S),Linux)
-@@ -77,6 +77,10 @@ ifeq ($(uname_S),OpenBSD)
+ # 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
@@ -26,7 +26,7 @@
  ifeq ($(uname_S),FreeBSD)
        # FreeBSD
        FINAL_LIBS+= -lpthread
-@@ -87,6 +91,7 @@ else
+@@ -104,6 +108,7 @@ else
  endif
  endif
  endif
diff -r cf0c6c28a61f -r c124c0b608ac databases/redis/patches/patch-deps_hiredis_fmacros.h
--- a/databases/redis/patches/patch-deps_hiredis_fmacros.h      Wed Aug 02 17:57:11 2017 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-$NetBSD: patch-deps_hiredis_fmacros.h,v 1.3 2015/04/13 11:33:35 fhajny Exp $
-
-Add MirBSD support.
---- deps/hiredis/fmacros.h.orig        2015-04-01 14:01:44.000000000 +0000
-+++ deps/hiredis/fmacros.h
-@@ -11,6 +11,7 @@
- 
- #if defined(__sun__)
- #define _POSIX_C_SOURCE 200112L
-+#elif defined(__MirBSD__)
- #elif defined(__linux__) || defined(__OpenBSD__) || defined(__NetBSD__)
- #define _XOPEN_SOURCE 600
- #else



Home | Main Index | Thread Index | Old Index