Commit graph

122 commits

Author SHA1 Message Date
Sergey A. Osokin
92c2b72a49 Upgrade from 3.2.10 to 3.2.11.
<ChangeLog>

Upgrade urgency HIGH: Potentially critical bugs fixed.

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.

</ChangeLog>
2017-11-17 02:10:54 +00:00
Mathieu Arnold
cb9a2b582c Cleanup after removal of libexecinfo from ports.
PR:		220271
Submitted by:	mat (review), Yasuhiro KIMURA (PR)
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D11488
2017-09-22 10:48:57 +00:00
Mathieu Arnold
3fcd0e41de Remove USES=execinfo.
PR:		220271
Submitted by:	mat (review), Yasuhiro KIMURA (PR)
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D11488
2017-09-22 10:48:28 +00:00
Sergey A. Osokin
3a2458d918 Upgrade to 3.2.10.
ChangeLog:	https://raw.githubusercontent.com/antirez/redis/3.2/00-RELEASENOTES
2017-08-06 15:02:33 +00:00
Sergey A. Osokin
ece1280e56 Upgrade from 3.2.8 to 3.2.9.
<ChangeLog>

Upgrade urgency LOW: A few rarely harmful bugs were fixed.

This release just fixes bugs that are unlikely to cause serious problems
so there is no need to update ASAP. Please, see the list of commits
for the details on the bugs fixed and credits:

o) redis-cli --bigkeys: show error when TYPE fails
o) Fix preprocessor if/else chain broken in order to fix #3927
o) Fix zmalloc_get_memory_size() ifdefs to actually use the else branch
o) Set lua-time-limit default value at safe place
o) Fix #3848 by closing the descriptor on error
o) Update block->free after some diff data are written to the child process
o) Test: fix, hopefully, false PSYNC failure like in issue #2715
o) Fix #2883, #2857 pipe fds leak when fork() failed on bg aof rw
o) Don't leak file descriptor on syncWithMaster()

</ChangeLog>

M    Makefile
M    distinfo
2017-06-05 00:07:12 +00:00
Sergey A. Osokin
c1c895e611 Upgrade from 3.2.7 to 3.2.8.
<ChangeLog>

Upgrade urgency CRITICAL: This release reverts back the Jemalloc upgrade
                          that is believed to potentially cause a server
                          deadlock. A MIGRATE crash is also fixed.

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.

</ChangeLog>
2017-02-14 02:55:34 +00:00
Sergey A. Osokin
49858ce59d Upgrade from 3.2.6 to 3.2.7.
ChangeLog - https://raw.githubusercontent.com/antirez/redis/3.2/00-RELEASENOTES

PR:	216702
2017-02-01 22:44:09 +00:00
Sergey A. Osokin
e4751c5065 Upgrade from 3.2.5 to 3.2.6.
<ChangeLog>

Upgrade urgency MODERATE: GEORADIUS, BITFIELD and Redis Cluster minor fixes.

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.

</ChangeLog>
2016-12-06 23:42:02 +00:00
Sergey A. Osokin
6a2e0eba32 Upgrade from 3.2.4 to 3.2.5.
<ChangeLog>

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(-)

</ChangeLog>
2016-12-05 00:46:15 +00:00
Sergey A. Osokin
a904110a38 Upgrade from 3.2.3 to 3.2.4.
ChangeLog:	https://raw.githubusercontent.com/antirez/redis/3.2/00-RELEASENOTES
2016-09-27 23:09:25 +00:00
Sergey A. Osokin
47769bf0ec Update the package list, bump PORTREVISION. 2016-08-07 23:42:38 +00:00
Sergey A. Osokin
20fc51a5c2 Remove needless code, no functional change. 2016-08-07 23:40:46 +00:00
Sergey A. Osokin
951f6430ea Upgrade from 3.0.7 to the latest stable version 3.2.3. 2016-08-07 23:34:51 +00:00
Mathieu Arnold
4e1b79a0a6 Remove ${PORTSDIR}/ from dependencies, categories d, e, f, and g.
With hat:	portmgr
Sponsored by:	Absolight
2016-04-01 14:00:51 +00:00
Sergey A. Osokin
67d34c0f84 Upgrade from 3.0.5 to 3.0.7.
<ChangeLog>

--[ Redis 3.0.7 ] Release date: 28 jan 2016

Upgrade urgency MODERATE: this release fixes important Redis Cluster bugs.

* [FIX] avg_ttl reporting in INFO improved. (Salvatore Sanfilippo)
* [FIX] Redis Cluster address update (via gossip section) processing improved
        to avoid initiating inwanted handshakes.
* [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] 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] 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)

--[ 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)

</ChangeLog>
2016-02-03 00:13:59 +00:00
Sergey A. Osokin
f14346f630 Enable profiles support.
Bump PORTREVISION.

PRs:	171372, 179551
2015-11-07 20:08:18 +00:00
Sergey A. Osokin
6d6485b556 Add rc script for sentinel.
Bump PORTREVISION.

PR:	204025
2015-10-29 01:34:53 +00:00
Sergey A. Osokin
6e9e1357af Upgrade from 3.0.4 to 3.0.5.
<ChangeLog>

--[ 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)

</ChangeLog>
2015-10-25 23:39:49 +00:00
Sergey A. Osokin
37a47842ba Upgrade from 3.0.3 to 3.0.4.
<ChangeLog>

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] Senitnel: 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.
        A detailed explanation of the bug and its effects can be found in
        the commit message here:
        c20218eb57.
        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).

</ChangeLog>
2015-09-14 23:41:59 +00:00
Sergey A. Osokin
c77e22f8f7 Upgrade from 3.0.2 to 3.0.3.
<ChangeLog>

--[ 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.

</ChangeLog>
2015-07-18 00:05:05 +00:00
Sergey A. Osokin
d62ca4b0be Security upgrade from 3.0.1 to 3.0.2.
<ChangeLog>

--[ 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)

</ChangeLog>
2015-06-05 00:52:12 +00:00
Sergey A. Osokin
ef7625e1f6 Fix rc.d script for allow to specify the config path in rc.conf.
Bump PORTREVISION.

PR:	199607
2015-05-06 01:24:13 +00:00
Sergey A. Osokin
4825a1b2fc Upgrade from 3.0.0 to 3.0.1.
<ChangeLog>

--[ Redis 3.0.1 ] Release date: 5 May 2015

Upgrade urgency: LOW for Redis, Sentinel, Cluster.

* [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)

</ChangeLog>
2015-05-06 01:12:27 +00:00
Sergey A. Osokin
0e736bceef Upgrade from 2.8.19 to 3.0.0.
Merge all changes from databases/redis-devel to databases/redis.

<ChangeLog>

Redis 3.0 release notes
=======================

--[ 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.

</ChangeLog>
2015-04-07 22:28:20 +00:00
John Marino
8f3cf904a9 databases category: Remove $PTHREAD_LIBS
Note: virtuoso did not pass check-plist from before, so it was fixed.

approved by:	PTHREAD blanket
2015-03-25 09:33:52 +00:00
Sergey A. Osokin
a00b010d72 Upgrade from 2.8.18 to 2.8.19.
<ChangeLog>

--[ Redis 2.8.19 ] Release date: 16 Dec 2014

# UPGRADE URGENCY: LOW for both Redis and Sentinel. This release mostly
                   fixes small issues.

02d465c Don't log admin commands in MONITOR. (antirez)
4d8f426 List of commands flagged as admin commands modified. (antirez)
e47e460 Lua cmsgpack lib updated to latest version. (antirez)
5509c14 Add symlink to redis-sentinel during make install (Rhommel Lamas)
7de1ef7 SORT: Don't sort Set elements if not needed. (antirez)
e945a54 Fix zero-ordering SORT when called against lists (Matt Stancliff)
d81c383 Update redis_init_script.tpl (Ben Dowling)
dba57ea FIXED redis-benchmark's idle mode.With idle mode shouldn't create write event (zhanghailei)
888ea17 zipmap.c: update comments above (Sun He)
86ebc13 replaced // comments  #2150 (Deepak Verma)
3d73f08 redis-benchmark AUTH command to be discarded after the first send #2150 (azure provisioned user)
76d53a6 sds.c: Correct two spelling mistakes in comments (Sun He)
4848cf9 sds.c/sdscatvprintf: set va_end to finish va_list cpy (Sun He)
d2f584f sds.c: Correct some comments (Sun He)
2ed3f09 Update whatisdoing.sh (Serghei Iakovlev)
77b997d Include stropts only if __sun is defined. (antirez)
d409371 Fix implicit declaration of ioctl on Solaris (Jan-Erik Rediger)
23b96c0 Silence _BSD_SOURCE warnings in glibc 2.20 and forward (Johan Bergström)
a47a042 Mark whatisdoing.sh as deprecated in top-comment. (antirez)
b5737d2 getting pid fixes (Serghei Iakovlev)
a598e08 sparkline.c: AddSample skip Empty label (Sun He)
7d480ab sparkline.c: mov label-ini into the AddSample Function (Sun He)
2f3c860 Only ignore sigpipe in interactive mode (Jan-Erik Rediger)
0c211a1 Simplify lua_cmsgpack macro and fix build on old Linux distros. (antirez)

</ChangeLog>
2015-01-03 20:10:55 +00:00
Sergey A. Osokin
a55f80ac6d Upgrade from 2.8.17 to 2.8.18.
<ChangeLog>

--[ Redis 2.8.18 ] Release date: 4 Dec 2014

# UPGRADE URGENCY: LOW for both Redis and Sentinel. This release mostly
                   adds new features to Redis, and contains non critical
                   fixes.

* [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)

</ChangeLog>
2014-12-12 04:27:33 +00:00
Baptiste Daroussin
3edc030b9f Cleanup plist 2014-10-20 10:41:12 +00:00
Sergey A. Osokin
05ca6dba90 Upgrade from 2.8.15 to 2.8.17.
<ChangeLog>

--[ 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.

</ChangeLog>
2014-09-21 23:14:58 +00:00
Bryan Drewery
0272bb88ae - Fix build on 8.x which does not have TCP_KEEPIDLE
Approved by:	maintainer
2014-09-17 15:56:18 +00:00
Sergey A. Osokin
2f1a4001a1 Upgrade from 2.8.14 to 2.8.15.
<ChangeLog>

--[ 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)

</ChangeLog>
2014-09-16 08:20:52 +00:00
Sergey A. Osokin
a2e6c47b90 Upgrade from 2.8.11 to 2.8.14.
<ChangeLog>

--[ 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)

--[ 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)

</ChangeLog>
2014-09-09 22:18:39 +00:00
Baptiste Daroussin
ff06f04d62 USES=execinfo 2014-08-05 06:36:06 +00:00
Sergey A. Osokin
6cb9c9671c Upgrade from 2.8.9 to 2.8.11.
<ChangeLog>

--[ 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.

</ChangeLog>
2014-06-20 08:59:10 +00:00
Jimmy Olgeni
76c7f8fbe6 Remove indefinite articles and trailing periods from COMMENT, plus
minor COMMENT typos and surrounding whitespace fixes. Categories D-F.

CR:		D196
Approved by:	portmgr (bapt)
2014-06-10 07:39:01 +00:00
Baptiste Daroussin
e7c3cd6a2d Convert one more port to USES=lua 2014-05-26 15:36:49 +00:00
Sergey A. Osokin
73113c1988 Upgrade from 2.8.8 to 2.8.9.
<ChangeLog>

# 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.

</ChangeLog>
2014-05-14 02:05:04 +00:00
Sergey A. Osokin
3beb6fb6e6 Update from 2.8.7 to 2.8.8.
Update pkg-plist to be more convenient with pkgng(1).
2014-03-31 22:04:26 +00:00
Matthias Andree
0da998d98d Make configuration file path configurable in rc.conf. [1]
Convert to stage support.  State which BSD license is meant. [2]

PR:		ports/181201 [1]
Submitted by:	Daniel Ylitalo <daniel@blodan.se> [1]
Approved by:	maintainer timeout (osa, 6 months) [1]
Approved by:	portmgr (blanket) [2]
2014-03-13 21:13:39 +00:00
Sergey A. Osokin
03dc71ceac Upgrade from 2.8.6 to 2.8.7.
<ChangeLog>

# 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.

</ChangeLog>
2014-03-06 00:24:09 +00:00
Sergey A. Osokin
032742b86c Upgrade from 2.8.4 to 2.8.6.
<ChangeLog>

--[ 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.

</ChangeLog>
2014-02-17 22:00:50 +00:00
Pietro Cerutti
813a79a031 - Convert to USES+=tcl gmake 2014-02-17 13:19:45 +00:00
Sergey A. Osokin
771437151f Upgrade from 2.8.3 to 2.8.4.
<ChangeLog>

# 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.

</ChangeLog>
2014-01-14 10:28:34 +00:00
Sergey A. Osokin
675a768c78 Upgrade from 2.8.2 to 2.8.3.
Use modern name for dependent libraries.

<ChangeLog>

# UPGRADE URGENCY: MODERATE for Redis, HIGH for Sentinel.

* [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.

</ChangeLog>
2013-12-11 16:55:27 +00:00
Sergey A. Osokin
fafce49fe4 Upgrade from 2.8.1 to 2.8.2.
<ChangeLog>

# UPGRADE URGENCY: MODERATE for both Redis and Sentinel.

* [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.

</ChangeLog>
2013-12-03 17:04:00 +00:00
Sergey A. Osokin
c88fa9457d Upgrade from 2.8.0 to 2.8.1.
<ChangeLog>

# UPGRADE URGENCY: LOW for Redis, CRITICAL for Senitnel. You don't need to
                   upgrade your Redis instances but it is highly recommended
                   to upgrade and restart all the Sentinel processes.

* [FIX] Fixed a bug in "new Sentinel" config propagation.
* [FIX] Fixed a false positive in Redis tests.

</ChangeLog>
2013-11-28 17:56:47 +00:00
Sergey A. Osokin
cc50e0274c Upgrade from 2.6.16 to 2.8.0.
Changelist: https://raw.github.com/antirez/redis/2.8/00-RELEASENOTES
2013-11-28 17:53:32 +00:00
Baptiste Daroussin
36117d7097 Add NO_STAGE all over the place in preparation for the staging support (cat: databases) 2013-09-20 16:13:47 +00:00
Sergey A. Osokin
fd0951a387 Upgrade from 2.6.15 to 2.6.16.
<ChangeLog>

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.

</ChangeLog>
2013-08-29 17:56:43 +00:00
Sergey A. Osokin
cd15dbdc5a Upgrade from 2.6.14 to 2.6.15.
Add support for lang/lua, disabled by default.

<ChangeLog>

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.

</ChangeLog>
2013-08-21 18:22:31 +00:00