summaryrefslogtreecommitdiff
path: root/databases/redis
AgeCommit message (Collapse)AuthorFilesLines
2017-05-18Update databases/redis to 3.2.9.fhajny2-7/+7
Just minor bugfixes, see release notes: https://raw.githubusercontent.com/antirez/redis/3.2/00-RELEASENOTES
2017-02-14Update databases/redis to 3.2.8.fhajny2-7/+7
================================================================================ Redis 3.2.8 Released Sun Feb 12 16:11:18 CET 2017 ================================================================================ Two important bug fixes, the first of one is critical: 1. Apparently Jemalloc 4.4.0 may contain a deadlock under particular conditions. See https://github.com/antirez/redis/issues/3799. We reverted back to the previously used Jemalloc versions and plan to upgrade Jemalloc again after having more info about the cause of the bug. 2. MIGRATE could crash the server after a socket error. See for reference: https://github.com/antirez/redis/issues/3796. ================================================================================ Redis 3.2.7 Released Tue Jan 31 16:21:41 CET 2017 ================================================================================ Main bugs fixes and improvements in this release: 1. MIGRATE could incorrectly move keys between Redis Cluster nodes by turning keys with an expire set into persisting keys. This bug was introduced with the multiple-keys migration recently. It is now fixed. Only applies to Redis Cluster users that use the resharding features of Redis Cluster. 2. As Redis 4.0 beta and the unstable branch already did (for some months at this point), Redis 3.2.7 also aliases the Host: and POST commands to QUIT avoiding to process the remaining pipeline if there are pending commands. This is a security protection against a "Cross Scripting" attack, that usually involves trying to feed Redis with HTTP in order to execute commands. Example: a developer is running a local copy of Redis for development purposes. She also runs a web browser in the same computer. The web browser could send an HTTP request to http://127.0.0.1:6379 in order to access the Redis instance, since a specially crafted HTTP requesta may also be partially valid Redis protocol. However if POST and Host: break the connection, this problem should be avoided. IMPORTANT: It is important to realize that it is not impossible that another way will be found to talk with a localhost Redis using a Cross Protocol attack not involving sending POST or Host: so this is only a layer of protection but not a definitive fix for this class of issues. 3. A ziplist bug that could cause data corruption, could crash the server and MAY ALSO HAVE SECURITY IMPLICATIONS was fixed. The bug looks complex to exploit, but attacks always get worse, never better (cit). The bug is very very hard to catch in practice, it required manual analysis of the ziplist code in order to be found. However it is also possible that rarely it happened in the wild. Upgrading is required if you use LINSERT and other in-the-middle list manipulation commands. 4. We upgraded to Jemalloc 4.4.0 since the version we used to ship with Redis was an early 4.0 release of Jemalloc. This version may have several improvements including the ability to better reclaim/use the memory of system.
2017-01-03Update databases/redis to 3.2.6.fhajny2-7/+7
This release mainly fixes three bugs: 1. A bug with BITFIELD that may cause the bitmap corruption when setting offsets larger than the current string size. 2. A GEORADIUS bug that may happen when using very large radius lengths, in the range of 10000km or alike, due to wrong bounding box calculation. 3. A bug with Redis Cluster which crashes when reading a nodes configuration file with zero bytes at the end, which sometimes happens with certain ext4 configurations after a system crash.
2016-12-21minor edits for grammar/usagedholland1-3/+3
2016-11-14Fix NetBSD support. Thanks to Mustafa Dogan!fhajny2-5/+25
2016-11-03Update databases/redis to 3.2.5.fhajny2-7/+7
Redis 3.2.5 Released Wed Oct 26 09:16:40 CEST 2016 =========================================================================== Upgrade urgency LOW: This release only fixes a compilation issue due to the missing -ldl at linking time. zach shipko in commit 4736407: BSDs don't have -ldl 1 file changed, 15 insertions(+), 5 deletions(-) antirez in commit 9ada818: Fix modules compilation when libc malloc is used. 1 file changed, 2 insertions(+), 2 deletions(-)
2016-09-26Update databases/redis to 3.2.4.fhajny2-7/+7
This is a Redis critical release in order to fix a security issue which is documented clearly here: https://github.com/antirez/redis/commit/6d9f8e2462fc2c426d48c941edeb78e5df7d2977 Thanks to Cory Duplantis of Cisco Talos for reporting the issue. IMPACT: The gist is that using CONFIG SET calls (or by manipulating redis.conf) an attacker is able to compromise certain fields of the "server" global structure, including the aof filename pointer, that could be made pointing to something else. In turn the AOF name is used in different contexts such as logging, rename(2) and open(2) syscalls, leading to potential problems. Please note that since having access to CONFIG SET also means to be able to change the AOF filename (and many other things) directly, this issue actual real world impact is quite small, so I would not panik: if you have CONFIG SET level of access, you can do more and more easily. AFFECTED VERSIONS: - All Redis 3.2.x versions are affected. OTHER CHANGES IN THIS RELEASE: - TCP binding bug fixed when only certain addresses were available for a given port. - A much better crash report that includes part of the Redis binary: this will allow to fix bugs even when we just have a crash log and no other help from the original poster oft the issue. - A fix for Redis Cluster redis-trib displaying of info after creating a new cluster.
2016-08-09Update databases/redis to 3.2.3.fhajny3-8/+10
Redis 3.2.3 Bugfixes: - There was an inverted if statement logic problem in replication.c causing a replication delay. - Redis-cli created the history file with insecure permissions, allowing reding from the file. Redis 3.2.2 - There was a bug in the List type implementation, able to cause the crash of the server under certain (non trivial to replicate) circumstances when the LSET command was used. - Redis Sentinel, when monitoring multiple masters, could crash after a Sentinel address update event. - Redis Sentinel now checks slaves INFO state more often when disconnected. - It was possible, under a variety of conditions, that the AOF and RDB children process could spawn at the same time. This is known to trash disk I/O, AOF performances, and to ultimately create latency in the Redis server. - Many GEORADIUS bugs are now fixed \o/. New features: - Now slaves support the slave-announce-ip and slave-announce-port options. - The RDB check utlity is now part of Redis and uses the same RDB code that Redis uses in order to load the dataset in memory.
2016-06-21Fix forgotten PLIST change.fhajny1-1/+2
2016-06-19Update databases/redis to 3.2.1.fhajny3-15/+15
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.
2016-06-08Remove the stability entity, it has no meaning outside of an official context.jperkin1-1/+0
2016-06-08Change the service_bundle name to "export" to reduce diffs between thejperkin1-1/+1
original manifest.xml file and the output from "svccfg export".
2016-05-06Update databases/redis to 3.2.0.fhajny5-51/+37
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
2016-03-04Set DIST_SUBDIR when changing the checksums but keeping the filename.wiz2-6/+7
2016-03-04Update distfile, upstream must have changed the distfile post-release.fhajny1-4/+4
2016-01-26Update databases/redis to 3.0.7.fhajny2-7/+7
--[ Redis 3.0.7 ] Release date: 25 jan 2016 Upgrade urgency MODERATE: this release fixes important Redis Cluster bugs. * [FIX] Many fixes to MIGRATE multiple keys implementation. The command could handle errors in a faulty way leading to crashes or other unexpected behaviors. MIGRATE command refactoring. (The analysis of the faulty conditions was conducted by Kevin McGehee. The fix was developed by Salvatore Sanfilippo) * [FIX] A Redis Cluster node crash was fixed because of wrong handling of node->slaveof pointers. (Reported by JackyWoo, fixed by Salvatore Sanfilippo) * [FIX] Fix redis-trib rebalance when nodes need to be left empty because the specified weight is zero. (Reported by Shahar Mor, fixed by Salvatore Sanfilippo) * [FIX] MIGRATE: Never send -ASK redirections for MIGRATE when there are open slots. Redis-trib and other cluster management utility must always be free to move keys between nodes about open slots, in order to reshard, fix the cluster configuration, and so forth. (Salvatore Sanfilippo) * [FIX] Lua debugger crash when printing too deeply nested objects. (Reported by Paul Kulchenko, fixed by Salvatore Sanfilippo) * [FIX] Redis-cli implementation of Lua debugging now allows to use the SCRIPT DEBUG command directly, switching to debugging mode as needed. (Reported by Paul Kulchenko, fixed by Salvatore Sanfilippo) * [FIX] Redis-trib is now able to fix more errors. A new CLUSTER subcommand called BUMPEPOCH was introduced in order to support new modes for the "fix" subcommand. (Salvatore Sanfilippo) * [NEW] Redis proctected mode: this feature improves Redis security and makes harder to run Redis in a configuration that is unsecure because no firewalling was used in order to protect Redis from external accesses. * [NEW] Cluster/Sentinel tests now use OSX leak to perform leak detection at the end of every unit. (Salvatore Sanfilippo) * [NEW] Detect and show server crashes during Cluster/Sentinel tests. (Salvatore Sanfilippo) * [NEW] More reliable Cluster/Sentinel test becuase of timing errors and -LOADING errors. (Salvatore Sanfilippo)
2015-12-31Update databases/redis to 3.0.6.fhajny2-7/+7
--[ Redis 3.0.6 ] Release date: 18 Dec 2015 Upgrade urgency: MODERATE. We fixed a crash that happens very rarely, so updating does not hurt, but most users are unlikely to experience this condition because it requires some odd timing. However if you are a Redis Cluster user, upgrading is strongly adviced since this release includes very important improvements to Redis Cluster. * [FIX] lua_struct.c/getnum security issue fixed. (Luca Bruno discovered it, patched by Sun He and Chris Lamb) * [FIX] Redis Cluster replica migration fixed. See issue #2924 for details. (Salvatore Sanfilippo) * [FIX] Fix a race condition in processCommand() because of interactions with freeMemoryIfNeeded(). Details in issue #2948 and especially in the commit message d999f5a. (Race found analytically by Oran Agra, patch by Salvatore Sanfilippo) * [NEW] Backported from the upcoming Redis 3.2: MIGRATE now supports an extended multiple-keys pipelined mode, which is an order of magnitude faster. Redis Cluster now uses this mode in order to perform reshardings and rebalancings. (Salvatore Sanfilippo) * [NEW] Backported from the upcoming Redis 3.2: Redis Cluster has now support for rebalancing via the redis-trib rebalance command. Demo here: https://asciinema.org/a/0tw2e5740kouda0yhkqrm5790 Official documentation will be available ASAP. (Salvatore Sanfilippo) * [NEW] Redis Cluster redis-trib.rb new "info" subcommand. * [NEW] Redis Cluster tests improved. (Salvatore Sanfilippo) * [NEW] Log offending memory access address on SIGSEGV/SIGBUS (Salvatore Sanfilippo)
2015-11-04Remove duplicate SHA512 digests that crept in.agc1-2/+1
2015-11-03Add SHA512 digests for distfiles for databases categoryagc1-1/+2
Problems found with existing distfiles: distfiles/D6.data.ros.gz distfiles/cstore0.2.tar.gz distfiles/data4.tar.gz distfiles/sphinx-2.2.7-release.tar.gz No changes made to the cstore or mariadb55-client distinfo files. Otherwise, existing SHA1 digests verified and found to be the same on the machine holding the existing distfiles (morden). All existing SHA1 digests retained for now as an audit trail.
2015-10-18Update databases/redis to 3.0.5.fhajny2-6/+7
--[ Redis 3.0.5 ] Release date: 15 Oct 2015 Upgrade urgency: MODERATE, the most important thing is a fix in the replication code that may make the slave hanging forever if the master remains with an open socket even if it is no longer able to reply. * [FIX] MOVE now moves the TTL as well. A bug lasting forever... finally fixed thanks to Andy Grunwald that reported it. (reported by Andy Grunwald, fixed by Salvatore Sanfilippo) * [FIX] Fix a false positive in HSTRLEN test. * [FIX] Fix a bug in redis-cli --pipe mode that was not able to read back replies from the server incrementally. Now a mass import will use a lot less memory, and you can use --pipe to do incremental streaming. (reported by Twitter user @fsaintjacques, fixed by Salvatore Sanfilippo) * [FIX] Slave detection of master timeout. (fixed by Kevin McGehee, refactoring and regression test by Salvatore Sanfilippo) * [NEW] Cluster: redis-trib fix can fix an additional case for opens lots. (Salvatore Sanfilippo) * [NEW] Cluster: redis-trib import support for --copy and --replace options (David Thomson) --[ Redis 3.0.4 ] Release date: 8 Sep 2015 Upgrade urgency: HIGH for Redis and Sentinel. However note that in order to fix certain replication bugs, the replication internals were modified in a very heavy way. So while this release is conceptually saner, it may contain regressions. For this reason, before the release, QA activities were performed by me (antirez) and Redis Labs and no evident bug was found. * [FIX] A number of bugs related to replication PSYNC and the (yet experimental) diskless replication feature were fixed. The bugs could lead to inconsistency between masters and slaves. (Salvatore Sanfilippo, Oran Agra fixed the issue found by Yuval Inbar) * [FIX] A replication bug in the context of PSYNC partial resynchonization was found and fixed. This bug happens even when diskless replication is off in the case different slaves connect at different times while the master is creating an RDB file, and later a partial resynchronization is attempted by a slave that connected not as the first one. (Salvatore Sanfilippo, Oran Agra) * [FIX] Chained replication and PSYNC interactions leading to potential stale chained slaves data set, see issue #2694. (Salvatore Sanfilippo fixed an issue reported by "GeorgeBJ" user at Github) * [FIX] redis-cli --scan iteration fixed when returned cursor overflows 32 bit signed integer. (Ofir Luzon, Yuval Inbar) * [FIX] Sentinel: fixed a bug during the master switch process, where for a failed conditional check, the new configuration is rewritten, during a small window of time, in a corrupted way where the master is also reported to be one of the slaves. This bug is rare to trigger but apparently it happens in the wild, and the effect is to see a replication loop where the master will try to replicate with itself. The bug was found by Jan-Erik Rediger using a static analyzer and fixed by Salvatore Sanfilippo. * [FIX] Sentinel lack of arity checks for certain commands. (Rogerio Goncalves, Salvatore Sanfilippo) * [NEW] Replication internals rewritten in order to be more resistant to bugs. The replication handshake in the slave side was rewritten as a non blocking state machine. (Salvatore Sanfilippo, Oran Agra) * [NEW] New "replication capabilities" feature introduced in order to signal from the master to the slave what are the features supported, so that the master can choose the kind of replication to start (diskless or not) when master and slave are of different versions. (Oran Agra, Salvatore Sanfilippo) * [NEW] Log clients details when SLAVEOF command is received. (Salvatore Sanfilippo with inputs from Nick Craver and Marc Gravell).
2015-08-13Update databases/redis to 3.0.3.fhajny2-6/+6
--[ Redis 3.0.3 ] Release date: 17 Jul 2015 Upgrade urgency: LOW for Redis and Sentinel. * [FIX] Fix blocking operations timeout precision when HZ is at its default value (not increased) and there are thousands of clients connected at the same time. This bug affected Sidekiq users that experienced a very long delay for BLPOP and similar commands to return for timeout. Check commit b029ff1 for more info. (Salvatore Sanfilippo) * [FIX] MIGRATE "creating socket: Invalid argument" error fix. Check issues #2609 and #2612 for more info. (Salvatore Sanfilippo) * [FIX] Be able to connect to the master even when the slave is bound to just the loopback interface and has no valid public address in the network the master is reacahble. (Salvatore Sanfilippo) * [FIX] ZADD with options encoding promotion fixed. (linfangrong) * [FIX] Reset aof_delayed_fsync on CONFIG RESETSTATS. (Tom Kiemes) * [FIX] PFCOUNT key parsing in cluster fixed. (MOON_CLJ) * [FIX] Fix Solaris compilation of Redis 3.0. (Jan-Erik Rediger) * [NEW] Variadic EXISTS command. Now the command accepts multiple arguments and returns the total count of existing keys.
2015-06-09Update databases/redis to 3.0.2.fhajny4-23/+8
--[ Redis 3.0.2 ] Release date: 4 Jun 2015 Upgrade urgency: HIGH for Redis because of a security issue. LOW for Sentinel. * [FIX] Critical security issue fix by Ben Murphy: http://t.co/LpGTyZmfS7 * [FIX] SMOVE reply fixed when src and dst keys are the same. (Glenn Nethercutt) * [FIX] Lua cmsgpack lib updated to support str8 type. (Sebastian Waisbrot) * [NEW] ZADD support for options: NX, XX, CH. See new doc at redis.io. (Salvatore Sanfilippo) * [NEW] Senitnel: CKQUORUM and FLUSHCONFIG commands back ported. (Salvatore Sanfilippo and Bill Anderson) --[ Redis 3.0.1 ] Release date: 5 May 2015 Upgrade urgency: LOW for Redis and Cluster, MODERATE for Sentinel. * [FIX] Sentinel memory leak due to hiredis fixed. (Salvatore Sanfilippo) * [FIX] Sentinel memory leak on duplicated instance. (Charsyam) * [FIX] Redis crash on Lua reaching output buffer limits. (Yossi Gottlieb) * [FIX] Sentinel flushes config on +slave events. (Bill Anderson)
2015-04-13Update redis to 3.0.0.fhajny9-34/+101
--[ 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
2015-03-12needs to link with pthreadstnn1-1/+2
2014-12-10Update redis to 2.8.18.fhajny3-14/+14
* [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)
2014-10-01Update redis to 2.8.17.fhajny2-6/+6
--[ Redis 2.8.17 ] Release date: 19 Sep 2014 # UPGRADE URGENCY: HIGH for Redis Sentinel. LOW for Redis Server (unmodified compared to 2.8.16). * [FIX] Resolved a memory leak in the hiredis library causing a memory leak in Redis Sentinel when a monitored instance or another Sentinel is unavailable. Every reconnection attempt will leak a small amount of memory, but in the long run the process can reach a considerable size. --[ Redis 2.8.16 ] Release date: 16 Sep 2014 # UPGRADE URGENCY: HIGH for Redis if you are using 2.8.15 + AOF. LOW for Sentinel. * [FIX] The ability to load truncated AOF files introduced with Redis 2.8.15 contains a bug fixed in this release: after loading the file was not truncated to the last valid command, so the new commands are appended after a non well formed command. This means that: 1) The first AOF rewrite triggered by the server will automatically fix the problem. 2) However, if the server is restarted before the rewrite, Redis may not be able to load the file and you need to manually fix it. In order to fix a corrupted file you should start the redis-check-aof utility WITHOUT the --fix option, just to check the offset where the corruption is found. Around the offset reported by the check utility you'll find, inside your AOF file, a command which is not complete according to the Redis protocol. Just remove this incomplete command leafing the file unaltered before and after the offending command, and restart the server. IMPORTANT #1: Redis 2.8.15 is the only stable version of Redis with this bug so probably no actual real-world problem happened since the problem is automatically fixed at the first automatic AOF rewrite. IMPORTANT #2: Before upgrading to Redis 2.8.16, if you are using Redis 2.8.15 with AOF enabled, make sure to trigger a manual AOF rewrite using the BGREWRITEAOF command. * [FIX] SAVE is no longer propagated to AOF / slaves. --[ Redis 2.8.15 ] Release date: 12 Sep 2014 # UPGRADE URGENCY: LOW for Redis, HIGH for Sentinel. * [FIX] Sentinel critical bug fixed: the absolute majority was computed in a wrong way because of a programming error. Now the implementation does what the specification says and the majority to authorize a failover (that should not be confused with the ODOWN quorum) is the majority of *all* the Sentinels ever seen for a given master, regardless of their current state. * [FIX] GETRANGE test no longer fails for 32 bit builds (Matt Stancliff). * [FIX] Limit SCAN latency when the hash table is in an odd state (very few populted buckets because rehashing is in progress). (Xiaost and Salvatore Sanfilippo) * [NEW] Redis is now able to load truncated AOF files without requiring a redis-check-aof utility run. The default now is to load truncated (but apparently not corrupted) AOFs, you can change this in redis.conf. (Salvatore Sanfilippo). * [NEW] Sentinel: ability to announce itself with an arbitrary IP/port to work in the context of natted networks. However this is probably still not enough since there is no equivalent mechanism for slaves listed in the master INFO output. (Dara Kong and Salvatore Sanfilippo) --[ Redis 2.8.14 ] Release date: 1 Sep 2014 # UPGRADE URGENCY: HIGH for Lua scripting users, the server could crash because of a bug introduced in Redis 2.8.10, otherwise LOW. LOW for Redis Sentinel. * [FIX] Don't prevent use of shared integers if maxmemory policy is non-LRU. (Salvatore Sanfilippo) * [FIX] Fail SYNC if background save child aborted due to a signal. (Yossi Gottlieb) * [FIX] Different small redis-cli fixes. (Dov Murik, Charsyam, cubicdaiya, Kashif Rasul, Jan-Erik Rediger, Matt Stancliff) * [FIX] AIX compilation fixes. (Siah Lyimo) * [FIX] A number of other smaller issues. * [FIX] Improved SIGINT handling (Matt Stancliff, Salvatore Sanfilippo) * [FIX] Use unsigned types in SDS header to raise limit to 4GB. (Matt Stancliff, Salvatore Sanfilippo) * [FIX] Handle signed/unsigned comparisons with more care around the code. (Salvatore Sanfilippo) * [FIX] Colorized test output fixed to don't change the background color. (Mariano Pérez Rodríguez) * [FIX] More Sentinel IPv6 fixes. (Eiichi Sato) * [FIX] Deny CLIENT command in scripts. (Matt Stancliff) * [FIX] Allow datasets with more than 2 billion of keys, initial work. * [FIX] Fix a Lua scripting crash by storing the length of the static argv when first allocated. (Paddy Byers) * [NEW] Pub/Sub PING. (Salvatore Sanfilippo) * [NEW] Much faster ZUNIONSTORE. (Kyle Hubert, Salvatore Sanfilippo) * [NEW] Faster ll2string() implementation. (Salvatore Sanfilippo) * [NEW] **WARNING, minor API change**: PUBSUB NUMSUB: return type modified to integer. (Matt Stancliff) * [NEW] redis-benchmark support for AUTH. (CharSyam)
2014-07-18Update redis to 2.8.13.fhajny3-15/+20
--[ Redis 2.8.13 ] Release date: 14 Jul 2014 # UPGRADE URGENCY: LOW for Redis and Sentinel, this is a features enhancement release mostly. Since this release introduces the latency monitoring feature, Redis 2.8 users experiencing latency issues are strongly encouraged to upgrade. * [FIX] CLIENT KILL minor backward compatibility fixes. (Salvatore Sanfilippo) * [FIX] Enable HAVE_ATOMIC for PowerPC. (Matt Stancliff) * [FIX] More robust PSYNC and AOF rewrites tests. (Salvatore Sanfilippo) * [FIX] Solaris build fixed. (Matt Stancliff, Salvatore Sanfilippo) * [NEW] The new latency monitoring feature, as documented at http://redis.io/topics/latency-monitor (Salvatore Sanfilippo) * [NEW] The COMMAND command, exposing the Redis command table as an API. (Matt Stancliff) * [NEW] Update used memory with C11 __atomic. (Matt Stancliff) --[ Redis 2.8.12 ] Release date: 23 Jun 2014 # UPGRADE URGENCY: HIGH for Redis, CRITICAL for Sentinel. # WARNING: This release contains a non backward compatible semantical change to Lua script that should affect an almost zero number of users. * [FIX / BREAKS BACKWARD COMPATIBILITY] Using SELECT inside Lua scripts no longer makes the selected DB to be set in the calling client. So Lua can still use SELECT, but the client calling the script will remain set to the original DB. Thix fixes an issue with Redis replication of Lua scripts that called SELECT without reverting the selected DB to the original one. (Salvatore Sanfilippo) * [FIX] Sentinel failover was instalbe if the master was detected as available during the failover (especially during manual failovers) because of an implementation error (lack of checking of SRI_PROMOTED flag). (Salvatore Sanfilippo) * [FIX] Cancel SHUTDOWN if initial AOF is being written. (Matt Stancliff) * [FIX] Sentinel: bind source address for outcoming connections. (Matt Stancliff). * [FIX] Less timing sensitive Sentinel tests. (Salvatore Sanfilippo). * [NEW] redis-cli --intrinsic-latency stopped with SIGINT still reports stats (Matt Stancliff) * [NEW] Sentinels broadcast an HELLO message ASAP after a failover in order to reach a consistent state faster (before it relied for periodic HELLO messages). (Salvatore Sanfilippo). * [NEW] Jemalloc updated to 3.6.0. (Salvatore Sanfilippo) * [NEW] CLIENT LIST speedup. (Salvatore Sanfilippo) * [NEW] CLIENT LIST new unique incremental ID to every client. (Salvatore Sanfilippo) * [NEW] ROLE command added. (Salvatore Sanfilippo) * [NEW] CLIENT KILL new form to kill by client type and ID (see doc at redis.io for more info). (Salvatore Sanfilippo) * [NEW] Sentinel now disconnects clients when instances are reconfigured (see http://redis.io/topics/sentinel-clients). (Salvatore Sanfilippo) * [NEW] Hiredis update to latest version. (Matt Stancliff) --[ Redis 2.8.11 ] Release date: 11 Jun 2014 # UPGRADE URGENCY: HIGH if you use Lua scripting, LOW otherwise. * [FIX] A previous fix for Lua -> Redis numerical precision enhancement introduced a new problem. In Redis 2.8.10 commands called from Lua passing a string that "looks like" a very large number, may actually use as argument the string converted as a float. This bug is now fixed. * [FIX] Now commands other than *PUSH* adding elements to a list will be able to awake clients blocked in a blocking POP operation. * [FIX] Cygwin compilation fixes. --[ Redis 2.8.10 ] Release date: 5 Jun 2014 # UPGRADE URGENCY: HIGH if you use min-slaves-to-write option. * [FIX] IMPORTANT! A min-slaves-to-write option active in a slave totally prevented the slave from acception the master stream of commands. This release includes testes for min-slaves-to-write, and a fix for this issue. * [FIX] Sometimes DEL returned 1 for already expired keys. Fixed. * [FIX] Fix test false positive because new osx 'leaks' output. * [FIX] PFCOUNT HLL cache invalidation fixed: no wrong value was reported but the cache was not used at all, leading to lower performances. * [FIX] Accept(2) multiple clients per readable-event invocation, and better processing of I/O while loading or busy running a timedout script. Basically now the LOADING / BUSY errors are reported at a decent speed. * [FIX] A softwaer watchdog crash fixed. * [FIX] Fixed a Lua -> Redis numerical precision loss. * [NEW] Lua scripting engine speed improved. * [NEW] Sentinel generates one new event for humans to understand better what is happening during a failover: +config-update-from. Also the time at which a failover will be re-attempted is logged.
2014-05-07Update redis to 2.8.9.fhajny3-7/+11
--[ Redis 2.8.9 ] Release date: 22 Apr 2014 # UPGRADE URGENCY: LOW, only new features introduced, no bugs fixed. * [NEW] The HyperLogLog data structure. You can read more about it in this blog post. http://antirez.com/news/75 * [NEW] The Sorted Set data type has now support for lexicographic range queries, check the new commands ZRANGEBYLEX, ZLEXCOUNT and ZREMRANGEBYLEX, which are documented at http://redis.io. --[ Redis 2.8.8 ] Release date: 25 Mar 2014 # UPGRADE URGENCY: HIGH for Redis, LOW for Sentinel. There is a potentially critical bug fix causing data loss in Redis but it requires a combination of disk full and the use of the SHUTDOWN command. * [FIX] Fixed data loss when SHUTDOWN was used with a disk full condition. * [FIX] Fixed a memory leak in the SORT syntax error processing. * [FIX] When Sentinel down-after-milliseconds parameter is modified at runtime now it gets propagated to all the slaves and sentinel instances of the master. * [FIX] `install_server.sh` script finally fixed. * [FIX] Different fixes to maxclients handling. * [NEW] Sentinels are now able to send update messages in a peer-to-peer fashion even if no Redis instances are available. Now the Sentinel liveness property that the most updated configuration in a given partition is propagated to all the Sentinels is extended to partitions without reachable instances. * [NEW] Sentinel safety properties are now ensured in a crash-recovery system model since some state is persisted on disk before replying to other nodes, and reloaded at startup. * [NEW] Sentinel now uses CLIENT SETNAME so that it is easy to identify Sentinels using CLIENT LIST among other clients. * [NEW] Sentinel failure detection and reconnection code improved. * [NEW] Use all 24 bits (instead of 22) for the Redis objects LRU field. Note that the new LRU algorithm using eviction pools was not backported from unstable for safery / code maturity concerns. * [NEW] Majory speedup for the INFO command (it is now 6 times faster). * [NEW] More Sentinel unit tests. * [NEW] New command DEBUG ERROR returns the specified error. Example: DEBUG ERROR "LOADING database". This is handy to write Redis client libraries unit tests. * [NEW] redis-cli now supports multi-line editing via updated linenoise lib.
2014-03-11Import initial SMF support for individual packages.jperkin2-1/+35
2014-03-11Remove example rc.d scripts from PLISTs.jperkin1-2/+1
These are now handled dynamically if INIT_SYSTEM is set to "rc.d", or ignored otherwise.
2014-03-10Update redis to 2.8.7.fhajny3-7/+15
--[ Redis 2.8.7 ] Release date: 5 Mar 2014 # UPGRADE URGENCY: LOW for Redis, LOW for Sentinel. However this release adds new features so users may want to upgrade in order to exploit the new functionalities. * [FIX] Sometimes the absolute config file path was obtained in a wrong way. This happened when there was a "dir" directive inside the config file and at the same time the configuration file was given as a relative path to redis-server or redis-sentinel executables. * [FIX] redis-cli: Automatically enter --slave mode when SYNC or PSYNC are called during an interactive session. * [FIX] Sentinel "IDONTKNOW" error removed as it does not made sense with the new Sentinel design. This error was actually a fix for a design error in the first implementation of Sentinel. * [FIX] Sentinel: added a missing exit() call to abort after config file checks at startup. This error was introduced with an improvement in a previous 2.8 release. * [FIX] BITCOUNT: fixed unaligned access causing issues in sparc and other archs not capable of dealing with unaligned accesses. This also makes the code faster in archs where unaligned accesses are allowed. * [FIX] Sentinel: better nodes fail over start time desynchronization to avoid split-brain during the voting process needed to get authorization to fail over. This means the system is less likely to need to retry and will fail over faster. No changes in behavior / correctness. * [FIX] Force INFO used_memory_peak to match peak memory. This generated some confusion among users even if it was not an actual bug. * [NEW] Sentinel unit tests and framework. More tests needed and units must be improved in order to have less false positives, but it is a start and features a debugging console that is useful to fix tests or to inspect bugs causing tests failures. * [NEW] New Sentinel events: +/-monitor and +set used to monitor when an instance to monitor is added or removed, or when a configuration is modified via SENTINEL SET. * [NEW] Redis-cli updated to use SCAN instead of random sampling via RANDOMKEY in order to implement --bigkeys feature. Moreover the implementation now supports pipelining and reports more information at the end of the scan. Much faster, much better. A special thank you to Michael Grunder for this improvement. * [NEW] redis-cli now supports a new --intrinsic-latency mode that is able to meter the latency of a system due to kernel / hypervisor. How to use it is explained at http://redis.io/topics/latency. * [NEW] New command BITPOS: find first bit set or clear in a bitmap. * [NEW] CONFIG REWRITE calls are now logged. --[ Redis 2.8.6 ] Release date: 13 Feb 2014 # UPGRADE URGENCY: HIGH for Redis, LOW for Sentinel. Redis users using Lua scripts with EVALSHA and attached slaves and/or AOF persistence should consider upgrading ASAP. * [FIX] Fixed an critical EVALSHA script cache bug: scripts executed may not propagate to AOF / Slaves correctly under certain conditions. See issue #1549 at Github for more information. * [FIX] Fixed multiple bugs resulting into closing the link with master or slave during replication without good reasons. This will result in useless resynchronizations, or infinite loops where the replication link can't be established. * [FIX] Don't count the time needed to populate the buffers of clients waiting in MONITOR mode when populating the Slow Log entries. * [NEW] AOF write errors (like no space on device) no longer abort Redis if the fsync policy is none or every second. The database enters a read-only mode where every write is refused with an error. Normal operations are restored as soon as Redis is able to append again data to the AOF file. * [NEW] Sentinel now accepts SHUTDOWN command. --[ Redis 2.8.5 ] Release date: 4 Feb 2014 # UPGRADE URGENCY: HIGH for Redis, LOW for Sentinel. Redis users using Lua scripts with expires, and Redis users relying on the ability of Redis to block writes on RDB saving errors should plan to upgrade ASAP. * [FIX] Fixed a replication bug caused by Lua scripts + expired keys: keys could expire in the middle of scripts causing non-deterministic behavior. * [FIX] MISCONFIG error if condition fixed, the server was no longer able to stop writes on RDB misconfiguration after this error was introduced. * [FIX] REDIS_AOF_REWRITE_MIN_SIZE is now 64mb like example redis.conf default. * [FIX] Perform fflush() before fsync() in rio.c (bug without actual effects). * [FIX] Don't log MONITOR clients as disconnecting slaves. * [FIX] SENTINEL MASTER arity check fixed. Crashed the Sentinel instance when the command was given without arguments. * [NEW] Allow CONFIG and SHUTDOWN while in stale-slave state. * [NEW] Support for configurable TCP listen(2) backlog size. * [NEW] redis-cli supports SCAN via the --scan and --pattern options. * [NEW] SENTINEL SET master quorum via runtime API implemented. --[ Redis 2.8.4 ] Release date: 13 Jan 2014 # UPGRADE URGENCY: MODERATE for Redis and Sentinel. * [FIX] Makefile compatibility with non common make variants improved. * [FIX] SDIFF crash in very unlikely to trigger state fixed. * [FIX] Config rewriting fixed: don't wipe options unknown to the rewrite process. * [FIX] Set TCP port to 0 works again to disable TCP networking. * [FIX] Fixed replication with old Redis instances as masters by not sending REPLCONF ACK to them. * [FIX] Fix keyspace notifications rewrite and CONFIG GET output. * [FIX] Fix RESTORE TTL handling in 32 bit systems (32 bit overflow). * [NEW] Sentinel now has a run time configuration API. * [NEW] Log when we lost connection with master or slave. * [NEW] When instance is turned from slave to master now inherits the old master replication offset when possible. This improves the Sentinel failover procedure.
2014-01-02Update redis to 2.8.?fhajny7-32/+35
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.
2014-01-01Support for MirBSD. Also, no strtold.bsiegert3-1/+31
2013-09-09--[ Redis 2.6.16 ] Release date: 28 Aug 2013fhajny2-6/+6
UPGRADE URGENCY: MODERATE. * [FIX] Stop writes when fork() fails when trying to BGSAVE. BGSAVE errors were trapped only in the case the saving child failed, so the fork() error was no trapped as no child is created at all. * [FIX] Fix a serious memory efficiency regression, Redis 2.6.16 is significantly better with large values (>= a few kbytes) and will be able to store two times the amount of data compared to Redis 2.6.15 when values are in that range. * [FIX] Fixed an issue with Table conversion in the lua-cmsgpack library exposed by the Redis scripting engine. * [NEW] DEBUG SDSLEN was introduced to debug memory inefficiencies due to SDS allocation more easily.
2013-08-26Changes in 2.6.15:fhajny2-7/+7
UPGRADE URGENCY: MODERATE, upgrade ASAP only if you experience issues related to the expired keys collection algorithm, or if you use the ZUNIONSTORE command. * [FIX] Improved expired keys collection algorithm. Even under heavy load keys to be expired can't accumulate because of lack of CPU time. * [FIX] Fixed Issue #1240, ZUNIONSTORE could lead to wrong result. * [NEW] redis-benchmark improvements. * [NEW] dict.c API wrong usage detection. WARNING: redis-benchmark released with 2.6.15 features non backward compatible change in the way the random arguments are specified, use the --help option for more information.
2013-08-07Changes 2.6.14:adam2-11/+9
UPGRADE URGENCY: HIGH because of the following two issues: * Lua scripting + Replication + AOF in slaves problem (see Issue 1164). * AOF + expires possible race condition (see Issue 1079). * [FIX] AOF bug: expire could be removed from key on AOF rewrite. * [FIX] Allow writes from scripts called by AOF loading in read-only slaves. * [FIX] Sentinel: parse new verison of INFO replication output correctly. * [NEW] Reset masterauth if an empty string is configured.
2013-06-14remove TODO, I fixed the redis startup file and the CVE were fixed a few ↵mspo1-5/+0
versions ago
2013-06-13unless a config file is given in rc.conf, default to bind localhost and run ↵mspo2-3/+4
daemonized
2013-06-13Import redis from wip!mspo8-0/+234
Redis is a persistent key-value database with built-in net interface