Commit graph

54 commits

Author SHA1 Message Date
adam
aaa08e8fbc 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.
2018-12-13 19:34:33 +00:00
adam
1d9bded938 redis: updated to 4.0.11
Redis 4.0.11:

Upgrade urgency HIGH: not critical but very important bugs fixed.

Dear users, this is just a bugfix release of Redis 4. All new work
is now focused on Redis 5, however we backported a number of bug fixes here:

* The disconnection time between the master and slave was reset in an
  incorrect place, sometimes a good slave will not be able to failover
  because it claims it was disconnected for too much time from the master.
* A replication bug, rare to trigger but non impossible, is in Redis for
  years. It was lately discovered at Redis Labs and fixed by Oran Agra.
  It may cause disconnections, desynchronizations and other issues.
* RANDOMKEY may go in infinite loop on rare situations. Now fixed.
* EXISTS now works in a more consistent way on slaves.
* Sentinel: backport of an option to deny a potential security problem
  when the SENTINEL command is used to configure an arbitrary script
  to execute.
2018-08-19 08:39:36 +00:00
adam
6374fac93b 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.
2018-08-02 14:47:34 +00:00
maya
3f7640fb54 redis: force -march=i586 on x86_32 to allow 8 byte atomics
(netbsd defaults to i486 and doesn't provide magic to hide this)

Fixes PR pkg/53451
2018-07-15 23:35:35 +00:00
fhajny
ad94872c76 Fix missing llroundl on NetBSD. Fixes pkg/52599. 2018-04-23 14:57:57 +00:00
fhajny
b1e716b8b4 databases/redis: Update to 4.0.9.
- Fix a critical AOF bug when fsync policy set to "always"
- Latency monitor could report wrong latencies under certain conditions.
- AOF rewriting could fail when a backgronud rewrite is triggered and
  at the same time the AOF is switched on/off.
- Redis Cluster crash-recovery safety improved.
- Other smaller fixes (check commnits).
- Redis Cluster has now the ability to configure certain slaves so that
  they'll never attempt a failover.
- Keyspace notifications API in modules.
- RM_Call() is now faster by reusing the same client.
- Tracking of the percentage of keys already logically expired but yet
  not evicted.
2018-04-04 10:47:49 +00:00
fhajny
011d585873 databases/redis: Update to 3.0.8.
- Redis 4.0.8 fixes a single critical bug in the radix tree data
  structure used for Redis Cluster keys slot tracking.
2018-02-04 17:13:05 +00:00
fhajny
fef2349d44 Update databases/redis to 4.0.7.
- Many 32 bit overflows were addressed in order to allow to use Redis with
  a very significant amount of data, memory size permitting.
- MEMORY USAGE fixed for the list type.
- Allow read-only scripts in Redis Cluster.
- Fix AOF pipes setup in edge case.
- AUTH option for MIGRATE.
- HyperLogLogs are no longer converted from sparse to dense in order
  to be merged.
- Fix AOF rewrite dead loop under edge cases.
- Fix processing of large bulk strings (>= 2GB).
- Added RM_UnlinkKey in modules API.
- Fix Redis Cluster crashes when certain commands with a variable number
  of arguments are called in an improper way.
- Fix memory leak in lazyfree engine.
- Fix many potentially successful partial synchronizations that end
  doing a full SYNC, because of a bug destroying the replication
  backlog on the slave. So after a failover the slave was often not able
  to PSYNC with masters, and a full SYNC was triggered. The bug only
  happened after 1 hour of uptime so escaped the unit tests.
- Improve anti-affinity in master/slave allocation for Redis Cluster
  when the cluster is created.
- Improve output buffer handling for slaves, by not limiting the amount
  of writes a slave could receive.
2018-01-30 16:40:13 +00:00
fhajny
b7fa59226a Update databases/redis to 4.0.6.
- This release fixes yet more errors present in the 4.0.5 fixes, that
  could affect slaves. Moreover another critical issue in quicklists,
  when they are used at a massive memory scale, was fixed in this
  release. Upgrading from any 4.0.x release, especially if you are
  running 4.0.4 or 4.0.5, is highly recommended.
2017-12-09 16:42:50 +00:00
fhajny
984246ec37 Update databases/redis to 4.0.5.
- Redis 4.0.4 fix for PSYNC2 was broken, causing the slave to crash when
  receiving an RDB file from the master that contained a duplicated Lua
  script.
2017-12-04 14:36:35 +00:00
fhajny
3966d2e595 Update databases/redis to 4.0.4.
Upgrade urgency CRITICAL: Several PSYNC2 bugs can corrupt the slave
data set after a restart and a successful PSYNC2 handshake.

- Fix the "PSYNC after restart" problem.
- LFU fixes improve the ability of Redis to correctly estimate the
  popularity of keys.
- Security fix related to loading a corrupted Cluster state from a
  corrupted file.
- Other bugfixes.
2017-11-30 22:30:20 +00:00
fhajny
cea55bf1ca Update databases/redis to 4.0.2.
Significant bugs fixed:

1. A number of bugs were fixed in the area of PSYNC2 replication in
thecspecific area of restarting an instance with an RDB file having
the repliacation meta-data to continue without a full
resynchronization.

2. AOF flush on SHUTDOWN did not cared to really write the AOF buffers
(not in the kernel but in the Redis process memory) to disk before
exiting. Calling SHUTDOWN during traffic resulted into not every
operation to be persisted on disk.

3. The SLOWLOG could reference values inside string objects stored at
keys, creating a race condition during FLUSHALL ASYNC while the DB is
reclaimed in another thread.
2017-09-26 07:52:13 +00:00
wiz
ff22ec594f Follow some redirects. 2017-09-04 18:08:18 +00:00
fhajny
9188f158d6 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.
2017-08-02 19:53:37 +00:00
jlam
9057c9022b A directory should not be listed in both OWN_DIRS and OWN_DIRS_PERMS.
Bump PKGREVISION to 1 due to changes in the binary package.
2017-05-31 19:29:26 +00:00
fhajny
c53146aa9c Update databases/redis to 3.2.9.
Just minor bugfixes, see release notes:

https://raw.githubusercontent.com/antirez/redis/3.2/00-RELEASENOTES
2017-05-18 13:48:28 +00:00
fhajny
e8e964e8b9 Update databases/redis to 3.2.8.
================================================================================
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-02-14 10:30:03 +00:00
fhajny
fb27b91e33 Update databases/redis to 3.2.6.
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.
2017-01-03 07:18:44 +00:00
dholland
e4cfa517ba minor edits for grammar/usage 2016-12-21 00:23:22 +00:00
fhajny
32e9576822 Fix NetBSD support. Thanks to Mustafa Dogan! 2016-11-14 14:30:17 +00:00
fhajny
df1f822775 Update databases/redis to 3.2.5.
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-11-03 14:13:19 +00:00
fhajny
e9104d1786 Update databases/redis to 3.2.4.
This is a Redis critical release in order to fix a security issue
which is documented clearly here:

6d9f8e2462

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-09-26 13:35:42 +00:00
fhajny
99647713a6 Update databases/redis to 3.2.3.
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-08-09 09:11:53 +00:00
fhajny
3757a13f14 Fix forgotten PLIST change. 2016-06-21 07:53:50 +00:00
fhajny
e78b1314db 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.
2016-06-19 21:28:58 +00:00
jperkin
36e6903fd8 Remove the stability entity, it has no meaning outside of an official context. 2016-06-08 10:16:50 +00:00
jperkin
31ffe7cbb6 Change the service_bundle name to "export" to reduce diffs between the
original manifest.xml file and the output from "svccfg export".
2016-06-08 09:46:01 +00:00
fhajny
8393d94814 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
2016-05-06 14:00:45 +00:00
wiz
52866e7fdc Set DIST_SUBDIR when changing the checksums but keeping the filename. 2016-03-04 08:58:58 +00:00
fhajny
7c79a113fe Update distfile, upstream must have changed the distfile post-release. 2016-03-04 08:43:09 +00:00
fhajny
0db8d6c98a Update databases/redis to 3.0.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)
2016-01-26 12:03:41 +00:00
fhajny
7c5b61ad13 Update databases/redis to 3.0.6.
--[ 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-12-31 09:09:36 +00:00
agc
efd9ad4549 Remove duplicate SHA512 digests that crept in. 2015-11-04 17:41:15 +00:00
agc
d549bff9a5 Add SHA512 digests for distfiles for databases category
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-11-03 01:56:09 +00:00
fhajny
307f1d82a8 Update databases/redis to 3.0.5.
--[ 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-10-18 08:28:22 +00:00
fhajny
a480418f2d Update databases/redis to 3.0.3.
--[ 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-08-13 07:43:40 +00:00
fhajny
98c0abb137 Update databases/redis to 3.0.2.
--[ 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-06-09 12:17:56 +00:00
fhajny
4837a9b269 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
2015-04-13 11:33:35 +00:00
tnn
4860bbcc4a needs to link with pthreads 2015-03-12 14:10:28 +00:00
fhajny
603d2382dc 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)
2014-12-10 13:36:54 +00:00
fhajny
12715619b5 Update redis to 2.8.17.
--[ 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-10-01 14:11:51 +00:00
fhajny
c054a89423 Update redis to 2.8.13.
--[ 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-07-18 09:33:58 +00:00
fhajny
ecaad1a4cc Update redis to 2.8.9.
--[ 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-05-07 07:40:40 +00:00
jperkin
222f8dc36b Import initial SMF support for individual packages. 2014-03-11 14:34:36 +00:00
jperkin
45bc40abb4 Remove example rc.d scripts from PLISTs.
These are now handled dynamically if INIT_SYSTEM is set to "rc.d", or
ignored otherwise.
2014-03-11 14:04:57 +00:00
fhajny
16688104d1 Update redis to 2.8.7.
--[ 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-03-10 13:24:13 +00:00
fhajny
1377b63466 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.
2014-01-02 17:26:19 +00:00
bsiegert
19a15bf4dc Support for MirBSD. Also, no strtold. 2014-01-01 16:08:24 +00:00
fhajny
84a9b74f71 --[ Redis 2.6.16 ] Release date: 28 Aug 2013
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-09-09 14:05:03 +00:00
fhajny
e30d5cfa79 Changes in 2.6.15:
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-26 10:10:08 +00:00