head 1.8; access; symbols pkgsrc-2018Q3:1.7.0.2 pkgsrc-2018Q3-base:1.7 pkgsrc-2018Q2:1.6.0.20 pkgsrc-2018Q2-base:1.6 pkgsrc-2018Q1:1.6.0.18 pkgsrc-2018Q1-base:1.6 pkgsrc-2017Q4:1.6.0.16 pkgsrc-2017Q4-base:1.6 pkgsrc-2017Q3:1.6.0.14 pkgsrc-2017Q3-base:1.6 pkgsrc-2017Q2:1.6.0.10 pkgsrc-2017Q2-base:1.6 pkgsrc-2017Q1:1.6.0.8 pkgsrc-2017Q1-base:1.6 pkgsrc-2016Q4:1.6.0.6 pkgsrc-2016Q4-base:1.6 pkgsrc-2016Q3:1.6.0.4 pkgsrc-2016Q3-base:1.6 pkgsrc-2016Q2:1.6.0.2 pkgsrc-2016Q2-base:1.6 pkgsrc-2016Q1:1.4.0.8 pkgsrc-2016Q1-base:1.4 pkgsrc-2015Q4:1.4.0.6 pkgsrc-2015Q4-base:1.4 pkgsrc-2015Q3:1.4.0.4 pkgsrc-2015Q3-base:1.4 pkgsrc-2015Q2:1.4.0.2 pkgsrc-2015Q2-base:1.4 pkgsrc-2015Q1:1.3.0.4 pkgsrc-2015Q1-base:1.3 pkgsrc-2014Q4:1.3.0.2 pkgsrc-2014Q4-base:1.3 pkgsrc-2014Q3:1.2.0.6 pkgsrc-2014Q3-base:1.2 pkgsrc-2014Q2:1.2.0.4 pkgsrc-2014Q2-base:1.2 pkgsrc-2014Q1:1.2.0.2 pkgsrc-2014Q1-base:1.2 pkgsrc-2013Q4:1.1.0.6 pkgsrc-2013Q4-base:1.1 pkgsrc-2013Q3:1.1.0.4 pkgsrc-2013Q3-base:1.1 pkgsrc-2013Q2:1.1.0.2 pkgsrc-2013Q2-base:1.1; locks; strict; comment @# @; 1.8 date 2018.12.13.19.34.33; author adam; state dead; branches; next 1.7; commitid UJFlEqn7Gcm6PF3B; 1.7 date 2018.08.02.14.47.34; author adam; state Exp; branches; next 1.6; commitid D2Wn9haUsk4ewyMA; 1.6 date 2016.06.19.21.28.58; author fhajny; state Exp; branches; next 1.5; commitid EF74xZOPYNS0C7bz; 1.5 date 2016.05.06.14.00.45; author fhajny; state Exp; branches; next 1.4; commitid 5IlybeR4b20wyq5z; 1.4 date 2015.04.13.11.33.35; author fhajny; state Exp; branches; next 1.3; commitid fwhJEeQTHC4Seqhy; 1.3 date 2014.12.10.13.36.54; author fhajny; state Exp; branches; next 1.2; commitid lKVx5YmkXkqGUu1y; 1.2 date 2014.01.02.17.26.19; author fhajny; state Exp; branches; next 1.1; commitid sCIyaqny3MzZazjx; 1.1 date 2013.06.13.17.41.34; author mspo; state Exp; branches; next ; commitid Tm9D4oU0942xMtTw; desc @@ 1.8 log @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 system. * 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. https://redis.io/topics/streams-intro 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 13. CLIENT UNBLOCK and CLIENT ID. 14. The LOLWUT command was added. http://antirez.com/news/123 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. @ text @$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/redis.pid 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/redis_6379.pid +pidfile @@REDIS_PIDDIR@@/redis.pid # 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 ./ +dir @@REDIS_DATADIR@@ ################################# REPLICATION ################################# @ 1.7 log @redis: updated to 4.0.10 Redis 4.0.10 fixes a number of important issues: * Important security issues related to the Lua scripting engine. Please check https://github.com/antirez/redis/issues/5017 for more information. * A bug with SCAN, SSCAN, HSCAN and ZSCAN, that may not return all the elements. We also add a regression test that can trigger the issue often when present, and may in theory be able to find unrelated regressions. * A PSYNC2 bug is fixed: Redis should not expire keys when saving RDB files because otherwise it is no longer possible to use such RDB file as a base for partial resynchronization. It no longer represents the right state. * Compatibility of AOF with RDB preamble when the RDB checksum is disabled. * Sentinel bug that in some cases prevented Sentinel to detect that the master was down immediately. A delay was added to the detection. * Other minor issues. @ text @d1 1 a1 1 $NetBSD: patch-ac,v 1.6 2016/06/19 21:28:58 fhajny Exp $ @ 1.6 log @Update databases/redis to 3.2.1. Upgrade urgency HIGH: Critical fix to Redis Sentinel, due to 3.2.0 regression compared to 3.0. Hey, this is Redis 3.2.1, and this release should bring some grain of maturity to Redis 3.2. The list of commits following this note will tell you the details, but the main things addressed in this release are the following: 1. A critical bug in Sentinel was hopefully fixed. During the big 3.2 refactoring of Redis Sentinel, in order to implement connection sharing to make Sentinel able to scale better (few Sentinels to monitor many masters), a bug was introduced that mis-counted the number of pending commands in the Redis link. This in turn resulted into an inability to talk with certain Redis instances. A common result of this bug was the inability of Redis Sentinel to reconfigure back the old master, after a failover, when it is reachable again, as the slave of the new master. This was due to the inability to talk with the old master at all. 2. BITFIELD bugs fixed. 3. GEO commands fixes on syntax errors and edge cases. 4. RESTORE now accepts dumps generated by older Redis versions. 5. Jemalloc now is really configured to save you memory, for a problem a change in the jemalloc configuration did not really survived when the 3.2.0 release was finalized. 6. TTL and TYPE command no longer alter the last access time of a key, for LRU evictions purposes. A new TOUCH command was introduced *just* to update the access time of a key. 7. A bug was fixed in redis-cli, that connected to the instance running on the port 6379 if there was one, regardless of what was specified. 8. TCP keep alive is now enabled by default. This should fix most ghost connections problems without resulting in any practical change in otherwise sane deployments. 9. A Sentinel crash that could happen during failovers was fixed. @ text @d1 1 a1 1 $NetBSD: patch-ac,v 1.5 2016/05/06 14:00:45 fhajny Exp $ d4 1 @ 1.5 log @Update databases/redis to 3.2.0. Redis 3.2 contains significant changes to the API and implementation of Redis. - A new set of commands for Geo indexing was added (GEOADD, GEORADIUS and related commands). - The new BITFIELD command handles contiguous arrays of integers or counters of arbitrary bits width and offset inside strings. - Memory optimizations to hold the same data in less memory. - Lua scripts can now contain side effects using the new effect replication. - A complete remote Lua debugger is available in order to make writing scripts a simpler task. Read the release notes for the full set of changes: https://raw.githubusercontent.com/antirez/redis/3.2/00-RELEASENOTES @ text @d1 1 a1 1 $NetBSD: patch-ac,v 1.4 2015/04/13 11:33:35 fhajny Exp $ d4 1 a4 1 --- redis.conf.orig 2016-05-06 07:11:36.000000000 +0000 d6 1 a6 1 @@@@ -124,7 +124,7 @@@@ tcp-keepalive 0 d15 1 a15 1 @@@@ -146,7 +146,7 @@@@ supervised no d19 1 a19 1 -pidfile /var/run/redis.pid d24 1 a24 1 @@@@ -159,7 +159,7 @@@@ loglevel notice d33 1 a33 1 @@@@ -243,7 +243,7 @@@@ dbfilename dump.rdb @ 1.4 log @Update redis to 3.0.0. --[ Redis 3.0.0 ] Release date: 1 Apr 2015 >> What's new in Redis 3.0 compared to Redis 2.8? * Redis Cluster: a distributed implementation of a subset of Redis. * New "embedded string" object encoding resulting in less cache misses. Big speed gain under certain work loads. * AOF child -> parent final data transmission to minimize latency due to "last write" during AOF rewrites. * Much improved LRU approximation algorithm for keys eviction. * WAIT command to block waiting for a write to be transmitted to the specified number of slaves. * MIGRATE connection caching. Much faster keys migraitons. * MIGARTE new options COPY and REPLACE. * CLIENT PAUSE command: stop processing client requests for a specified amount of time. * BITCOUNT performance improvements. * CONFIG SET accepts memory values in different units (for example you can use "CONFIG SET maxmemory 1gb"). * Redis log format slightly changed reporting in each line the role of the instance (master/slave) or if it's a saving child log. * INCR performance improvements. >> Refactoring changes (no new features nor bug fixes) * Blocking operations full refactoring (blocked.c) * Client output buffer memory tracking refactored. See full release notes for 3.0.0: https://raw.githubusercontent.com/antirez/redis/3.0/00-RELEASENOTES @ text @d1 1 a1 1 $NetBSD: patch-ac,v 1.3 2014/12/10 13:36:54 fhajny Exp $ d4 1 a4 1 --- redis.conf.orig 2015-04-01 14:01:44.000000000 +0000 d6 1 a6 1 @@@@ -34,11 +34,11 @@@@ d13 6 a18 2 # When running daemonized, Redis writes a pid file in /var/run/redis.pid by # default. You can specify a custom pid file location here. d22 3 a24 3 # Accept connections on the specified port, default is 6379. # If port 0 is specified Redis will not listen on a TCP socket. @@@@ -100,7 +100,7 @@@@ loglevel notice d33 1 a33 1 @@@@ -184,7 +184,7 @@@@ dbfilename dump.rdb @ 1.3 log @Update redis to 2.8.18. * [FIX] Linenoise updated to be more VT100 compatible. (Salvatore Sanfilippo) * [FIX] A number of typos fixed inside comments. (Various authors) * [FIX] redis-cli no longer quits after long timeouts. (Matt Stancliff) * [FIX] Test framework improved to detect never terminating scripts, cleanup instances on crashes. (Salvatore Sanfilippo) * [FIX] PFCOUNT can be used on slaves now. (Salvatore Sanfilippo) * [FIX] ZSCAN no longer report very small scores as 0. (Matt Stancliff, Michael Grunder, Salvatore Sanfilippo) * [FIX] Don't show the ASCII logo if syslog is enabled. Redis is now an Enterprise Grade product. (Salvatore Sanfilippo) * [NEW] EXPERIMENTAL: Diskless replication, for more info check the doc at http://redis.io/topics/replication. (Salvatore Sanfilippo). * [NEW] Transparent Huge Pages detection and reporting in logs and LATENCY DOCTOR output. (Salvatore Sanfilippo) * [NEW] Many Lua scripting enhancements: Bitops API, cjson upgrade and tests, cmsgpack upgrade. (Matt Stancliff) * [NEW] Total and instantaneous Network bandwidth tracking in INFO. * [NEW] DEBUG POPULATE two args form implemented (old form still works). The second argument is the key prefix. Default is "key:" (Salvatore Sanfilippo) * [NEW] Check that tcp-backlog is matched by /proc/sys/net/core/somaxconn, and warn about it if not. (Salvatore Sanfilippo) @ text @d1 1 a1 1 $NetBSD: patch-ac,v 1.2 2014/01/02 17:26:19 fhajny Exp $ d4 1 a4 1 --- redis.conf.orig 2014-12-04 10:36:52.000000000 +0000 @ 1.2 log @Update redis to 2.8.? Changes: 2.8.3 * [FIX] Sentinel instance role sampling fixed, the system is now more reliable during failover and when reconfiguring instances with non matching configuration. * [FIX] Inline requests are now handled even when terminated with just LF. * [FIX] Replication timeout handling greatly improved, now the slave is able to ping the master while removing the old data from memory, and while loading the new RDB file. This avoid false timeouts sensed by masters. * [FIX] Fixed a replication bug involving 32 bit instances and big datasets hard to compress that resulted into more than 2GB of RDB file sent. * [FIX] Return error for inline requests with unbalanced quotes. * [FIX] Publish the slave replication offset even when disconnected from the master if there is still a cached master instance. 2.8.2 * [FIX] Sentinel better desynchronization to avoid split-brain elections where no Sentinel managed to get elected. * [FIX] Stop accepting writes on "MISCONF" error only if master, not slave. * [FIX] Reply to PING with an error on "MISCONF" errors. 2.8.1 * [FIX] Fixed a bug in "new Sentinel" config propagation. * [FIX] Fixed a false positive in Redis tests. 2.8.0 * [FIX] Fixed an error in rdbWriteRaw() that should have no practical impact. * [NEW] Log the new master when SLAVEOF command is used. * [NEW] Sentinel code synchronized with the unstable branch, the new Sentinel is a reimplementation that uses more reliable algorithms. 2.8.0 RC6 * [NEW] SCAN, SSCAN, HSCAN, ZSCAN commands. 2.8.0 RC5 * [FIX] redis-cli: don't crash with --bigkeys when the key no longer exist. * [FIX] Allow AUTH / PING when disconnected from slave and serve-stale-data is no. * [FIX] PSYNC: safer handling of PSYNC requests with offsets in the future. * [FIX] Replication: Fix master timeout detection. * [FIX] Replication: Correctly install the write handler after successful PSYNC. 2.8.0 RC4 * [FIX] Fixed a serious EVAL memory leak in the Lua stack. * [FIX] Fixed server startup when no IPv6 address exists in any interface. * [FIX] Send MISCONFIG error when BGSAVE fails because can't fork. * [FIX] Memory efficiency with large (> a few kbytes) values improved considerably. * [NEW] DEBUG SDSLEN for sds memory debugging. 2.8.0 RC3 * [FIX] Improved expired keys collection algorithm. Even under heavy load keys to be expired can't accumulate because of lack of CPU time. * [FIX] Replication speed regression fixed (issue #1238). * [FIX] Fixed an hard to trigger PSYNC bug. * [FIX] Fixed Issue #1240, ZUNIONSTORE could lead to wrong result. * [NEW] Add per-db average TTL information in INFO output. * [NEW] redis-benchmark improvements. * [NEW] dict.c API wrong usage detection. 2.8.0 RC2 * [FIX] Fixed a critical replication bug, see issue #1221. * [NEW] The new inline protocol now accepts quoted strings like, for example you can now type in a telnet session: set 'foo bar' "hello world\n". 2.8.0 RC1 * [NEW] Slaves are now able to partially resynchronize with the master, so most of the times a full resynchronization with the RDB creation in the master side is not needed when the master-slave link is disconnected for a short amount of time. * [NEW] Experimental IPv6 support. * [NEW] Slaves explicitly ping masters now, a master is able to detect a timed out slave independently. * [NEW] Masters can stop accepting writes if not enough slaves with a given maximum latency are connected. * [NEW] Keyspace changes notifications via Pub/Sub. * [NEW] CONFIG SET maxclients is now available. * [NEW] Ability to bind multiple IP addresses. * [NEW] Set process names so that you can recognize, in the "ps" command output, the listening port of an instance, or if it is a saving child. * [NEW] Automatic memory check on crash. * [NEW] CONFIG REWRITE is able to materialize the changes in the configuration operated using CONFIG SET into the redis.conf file. * [NEW] More NetBSD friendly code base. * [NEW] PUBSUB command for Pub/Sub introspection capabilities. * [NEW] EVALSHA can now be replicated as such, without requiring to be expanded to a full EVAL for the replication link. * [NEW] Better Lua scripts error reporting. * [NEW] SDIFF performance improved. * [FIX] A number of bugfixes. 2.6.17 * [FIX] redis-cli: fix big keys search when the key no longer exist. * [FIX] Allow AUTH / PING when disconnected from slave with serve-stale-data on. * [FIX] redis-benchmark: update help for new __rand_int__ form. * [FIX] Fix broken rdbWriteRaw() return value check in rdb.c (harmless). * [FIX] Log to what master a slave is going to connect to. * [FIX] Only run the fast active expire cycle if master & enabled. * [FIX] Fixed a replication bug involving 32 bit instances and big datasets hard to compress that resulted into more than 2GB of RDB file sent. @ text @d1 1 a1 1 $NetBSD$ d4 1 a4 1 --- redis.conf.orig 2013-12-11 14:31:57.000000000 +0000 d6 1 a6 1 @@@@ -14,11 +14,11 @@@@ d20 1 a20 1 @@@@ -71,7 +71,7 @@@@ loglevel notice d29 1 a29 1 @@@@ -155,7 +155,7 @@@@ dbfilename dump.rdb d31 1 a31 1 # d34 1 a34 1 +dir @@REDIS_DATADIR@@ @ 1.1 log @Import redis from wip! Redis is a persistent key-value database with built-in net interface @ text @d4 1 a4 2 --- redis.conf.orig 2013-04-30 13:15:56.000000000 +0000 d20 2 a21 2 @@@@ -66,7 +66,7 @@@@ loglevel notice # Specify the log file name. Also 'stdout' can be used to force d24 1 a24 1 -logfile stdout d29 1 a29 1 @@@@ -150,7 +150,7 @@@@ dbfilename dump.rdb @