From a5d4d5f938e12ea242574e19204e63b34a709d65e1f7a611b4f102e509ae33d8 Mon Sep 17 00:00:00 2001 From: Marcus Rueckert Date: Tue, 4 Mar 2014 13:56:42 +0000 Subject: [PATCH 1/3] - update to 2.8.6 Redis 2.6 is mostly a strict subset of 2.8. However there are a few things that you should be aware of: The following commands changed behavior: * SORT with ALPHA now sorts according to local collation locale if no STORE option is used. * ZADD/ZINCRBY are now able to accept a bigger range of values as valid scores, that is, all the values you may end having as a result of calling ZINCRBY multiple times. * Many errors are now prefixed by a more specific error code instead of the generic -ERR, for example -WRONGTYPE, -NOAUTH, ... * PUBLISH called inside Lua scripts is now correctly propagated to slaves. The following redis.conf and CONFIG GET / SET parameters changed: * logfile now uses the empty string in order to log to standard output, so 'logfile stdout' is now invalid, use 'logfile ""' instead. The following INFO fields changed format in a non-backward compatible way: * The list of slaves in INFO is now in field=value format. Replication: Redis 2.8 can be used as slave for Redis 2.6, but doing this is only a good idea for the short amount of time needed to upgrade your servers. We suggest to update both master and slaves at about the same time. For all the details see /usr/share/doc/packages/redis/00-RELEASENOTES - updated redis-conf.patch to apply cleanly again OBS-URL: https://build.opensuse.org/package/show/server:database/redis?expand=0&rev=50 --- redis-2.6.14.tar.gz | 3 --- redis-2.8.6.tar.gz | 3 +++ redis-conf.patch | 20 ++++++++++---------- redis.changes | 31 +++++++++++++++++++++++++++++++ redis.spec | 2 +- 5 files changed, 45 insertions(+), 14 deletions(-) delete mode 100644 redis-2.6.14.tar.gz create mode 100644 redis-2.8.6.tar.gz diff --git a/redis-2.6.14.tar.gz b/redis-2.6.14.tar.gz deleted file mode 100644 index f13e2bb..0000000 --- a/redis-2.6.14.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fdf61c693e5c4908b4bb44c428d4a2b7568f05566c144c58fdf19c5cb12a9caf -size 995036 diff --git a/redis-2.8.6.tar.gz b/redis-2.8.6.tar.gz new file mode 100644 index 0000000..3356ba8 --- /dev/null +++ b/redis-2.8.6.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:efd0c9cb8d2696db44d8cb8309fed96607f68b93bb126615e64bff364e716658 +size 1052017 diff --git a/redis-conf.patch b/redis-conf.patch index a81f0f0..2efa775 100644 --- a/redis-conf.patch +++ b/redis-conf.patch @@ -2,7 +2,7 @@ Index: redis.conf =================================================================== --- redis.conf.orig +++ redis.conf -@@ -14,11 +14,11 @@ +@@ -34,11 +34,11 @@ # By default Redis does not run as a daemon. Use 'yes' if you need it. # Note that Redis will write a pid file in /var/run/redis.pid when daemonized. @@ -16,25 +16,25 @@ Index: redis.conf # Accept connections on the specified port, default is 6379. # If port 0 is specified Redis will not listen on a TCP socket. -@@ -27,7 +27,7 @@ port 6379 - # If you want you can bind a single interface, if the bind option is not - # specified all the interfaces will listen for incoming connections. +@@ -62,6 +62,7 @@ tcp-backlog 511 # --# bind 127.0.0.1 + # bind 192.168.1.100 10.0.0.1 + # bind 127.0.0.1 +bind 127.0.0.1 - # Specify the path for the unix socket that will be used to listen for + # Specify the path for the Unix socket that will be used to listen for # incoming connections. There is no default, so Redis will not listen -@@ -66,7 +66,7 @@ loglevel notice - # Specify the log file name. Also 'stdout' can be used to force +@@ -100,7 +101,8 @@ loglevel notice + # Specify the log file name. Also the empty string can be used to force # Redis to log on the standard output. Note that if you use standard # output for logging but daemonize, logs will be sent to /dev/null --logfile stdout +-logfile "" ++# logfile "" +logfile /var/log/redis/default.log # To enable logging to the system logger, just set 'syslog-enabled' to yes, # and optionally update the other syslog parameters to suit your needs. -@@ -150,7 +150,7 @@ dbfilename dump.rdb +@@ -184,7 +186,7 @@ dbfilename dump.rdb # The Append Only File will also be created inside this directory. # # Note that you must specify a directory here, not a file name. diff --git a/redis.changes b/redis.changes index 3bbd100..91166ab 100644 --- a/redis.changes +++ b/redis.changes @@ -1,3 +1,34 @@ +------------------------------------------------------------------- +Tue Mar 4 13:51:48 UTC 2014 - mrueckert@suse.de + +- update to 2.8.6 + Redis 2.6 is mostly a strict subset of 2.8. However there are a + few things that you should be aware of: + The following commands changed behavior: + * SORT with ALPHA now sorts according to local collation locale + if no STORE option is used. + * ZADD/ZINCRBY are now able to accept a bigger range of values + as valid scores, that is, all the values you may end having + as a result of calling ZINCRBY multiple times. + * Many errors are now prefixed by a more specific error code + instead of the generic -ERR, for example -WRONGTYPE, -NOAUTH, ... + * PUBLISH called inside Lua scripts is now correctly propagated + to slaves. + The following redis.conf and CONFIG GET / SET parameters changed: + * logfile now uses the empty string in order to log to standard + output, so 'logfile stdout' is now invalid, use 'logfile ""' + instead. + The following INFO fields changed format in a non-backward compatible way: + * The list of slaves in INFO is now in field=value format. + Replication: + Redis 2.8 can be used as slave for Redis 2.6, but doing this is + only a good idea for the short amount of time needed to upgrade + your servers. We suggest to update both master and slaves at + about the same time. + For all the details see + /usr/share/doc/packages/redis/00-RELEASENOTES +- updated redis-conf.patch to apply cleanly again + ------------------------------------------------------------------- Thu Aug 8 12:50:55 UTC 2013 - mrueckert@suse.de diff --git a/redis.spec b/redis.spec index ece4d7d..7d0ba92 100644 --- a/redis.spec +++ b/redis.spec @@ -21,7 +21,7 @@ %define _conf_dir %{_sysconfdir}/%{name} Name: redis -Version: 2.6.14 +Version: 2.8.6 Release: 0 Summary: Persistent key-value database License: BSD-3-Clause From 8c52d76d85387d1e0ab933eaf440e425a3008389c2c639d035bd055ec13f2854 Mon Sep 17 00:00:00 2001 From: Marcus Rueckert Date: Fri, 25 Jul 2014 15:14:08 +0000 Subject: [PATCH 2/3] - update to 2.8.13 OBS-URL: https://build.opensuse.org/package/show/server:database/redis?expand=0&rev=51 --- redis-2.8.13.tar.gz | 3 + redis-2.8.6.tar.gz | 3 - redis.changes | 184 ++++++++++++++++++++++++++++++++++++++++++++ redis.spec | 4 +- 4 files changed, 189 insertions(+), 5 deletions(-) create mode 100644 redis-2.8.13.tar.gz delete mode 100644 redis-2.8.6.tar.gz diff --git a/redis-2.8.13.tar.gz b/redis-2.8.13.tar.gz new file mode 100644 index 0000000..de78ed6 --- /dev/null +++ b/redis-2.8.13.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b87bc83d13b9bf1f20d41a0efd06eda78b80002e013566d8b69c332e0cbccb08 +size 1227538 diff --git a/redis-2.8.6.tar.gz b/redis-2.8.6.tar.gz deleted file mode 100644 index 3356ba8..0000000 --- a/redis-2.8.6.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:efd0c9cb8d2696db44d8cb8309fed96607f68b93bb126615e64bff364e716658 -size 1052017 diff --git a/redis.changes b/redis.changes index 91166ab..16888ec 100644 --- a/redis.changes +++ b/redis.changes @@ -1,3 +1,187 @@ +------------------------------------------------------------------- +Fri Jul 25 14:58:33 UTC 2014 - mrueckert@suse.de + +- update to 2.8.13 + * [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) +- additional changes from 2.8.12 + * [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) + +- additional changes from 2.8.11 + # 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. + +- additional changes from 2.8.10 + # 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. +- additional changes from 2.8.9 + # 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. + +- additional changes from 2.8.8 + # 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. + Thanks to Matt Stancliff and Jan-Erik Rediger for the work done + in the context of this release. +- additional changes from 2.8.7 + # 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. + ------------------------------------------------------------------- Tue Mar 4 13:51:48 UTC 2014 - mrueckert@suse.de diff --git a/redis.spec b/redis.spec index 7d0ba92..839921f 100644 --- a/redis.spec +++ b/redis.spec @@ -21,13 +21,13 @@ %define _conf_dir %{_sysconfdir}/%{name} Name: redis -Version: 2.8.6 +Version: 2.8.13 Release: 0 Summary: Persistent key-value database License: BSD-3-Clause Group: Productivity/Databases/Servers Url: http://redis.io/ -Source: http://redis.googlecode.com/files/%{name}-%{version}.tar.gz +Source: http://download.redis.io/releases/redis-%{version}.tar.gz Source1: %{name}.logrotate Source4: redis.sysconfig # PATCH-FIX-OPENSUSE -- openSUSE-style init script From a741342b573692a0e80f737c4725ae4be519f7f6a6d3b1e24d9c988e2c364be7 Mon Sep 17 00:00:00 2001 From: Marcus Rueckert Date: Mon, 28 Jul 2014 09:11:11 +0000 Subject: [PATCH 3/3] - remove unused skip-aof-test.patch OBS-URL: https://build.opensuse.org/package/show/server:database/redis?expand=0&rev=52 --- redis.changes | 5 +++++ skip-aof-test.patch | 12 ------------ 2 files changed, 5 insertions(+), 12 deletions(-) delete mode 100644 skip-aof-test.patch diff --git a/redis.changes b/redis.changes index 16888ec..a69c4b1 100644 --- a/redis.changes +++ b/redis.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Jul 28 09:10:30 UTC 2014 - mrueckert@suse.de + +- remove unused skip-aof-test.patch + ------------------------------------------------------------------- Fri Jul 25 14:58:33 UTC 2014 - mrueckert@suse.de diff --git a/skip-aof-test.patch b/skip-aof-test.patch deleted file mode 100644 index 3fa70c3..0000000 --- a/skip-aof-test.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: tests/test_helper.tcl -=================================================================== ---- tests/test_helper.tcl.orig -+++ tests/test_helper.tcl -@@ -32,7 +32,6 @@ set ::all_tests { - integration/replication-2 - integration/replication-3 - integration/replication-4 -- integration/aof - integration/rdb - integration/convert-zipmap-hash-on-load - unit/pubsub