135 Commits

Author SHA1 Message Date
YoongHM
1c6caaaef7 Start redis after network is online (#7639)
The two lines allow systemd to start redis.service after the network is online. Only after the network is online that Redis could bind to IP address other than 127.0.0.1 during initial boot up process.
2020-08-11 12:30:32 +03:00
Frank Meier
c8f3182f37 add force option to 'create-cluster create' script call (#7612) 2020-08-05 12:06:33 +03:00
Oran Agra
a472f35efd Fixes to release scripts (#7547) 2020-07-21 14:07:06 +03:00
Itamar Haber
efb04ab4a2 Adds SHA256SUM to redis-stable tarball upload 2020-07-16 21:31:36 +03:00
Oran Agra
2ee300481f update release scripts for new hosts, and CI to run more tests (#7480)
* update daily CI to include cluster and sentinel tests
* update daily CI to run when creating a new release
* update release scripts to work on the new redis.io hosts
2020-07-12 13:55:26 +03:00
Oran Agra
8df9882075 change references to the github repo location (#7479) 2020-07-10 08:25:26 +03:00
antirez
9ec60a50c6 Fix create-cluster BIN_PATH. 2020-04-28 16:40:15 +02:00
Itamar Haber
5a4bb22992 Update create-cluster 2020-02-28 13:36:50 +02:00
Itamar Haber
09cd0bf4a9 Adds BIN_PATH to create-cluster
Allows for setting the binaries path if used outside the upstream repo.

Also documents `call` in usage clause (TODO: port to
`redis-cli --cluster call` or just deprecate it).
2020-02-28 13:35:10 +02:00
Salvatore Sanfilippo
3d344f9467 Merge pull request #6052 from jtru/better-systemd-integration-v2
Better systemd integration v2
2019-12-19 08:54:22 +01:00
antirez
bfc40083ac create-cluster script tailall option. 2019-12-11 10:16:25 +01:00
antirez
a64168dc89 create-cluster script: allow additional options. 2019-12-03 17:52:04 +01:00
Johannes Truschnigg
54eb43248b Do not install SysV init-scripts on systemd-enabled hosts
Also, hint at example service unit files if systemd is detected. Thanks
to @mika for spotting a bug in the original iteration of this patch.
2019-11-19 18:55:44 +02:00
Johannes Truschnigg
21012ea68f Provide example systemd service unit files for redis-server 2019-11-19 18:55:44 +02:00
Yossi Gottlieb
85d7f38136 Merge remote-tracking branch 'upstream/unstable' into tls 2019-10-16 17:08:07 +03:00
Yossi Gottlieb
10ffeb03e4 TLS: Connections refactoring and TLS support.
* Introduce a connection abstraction layer for all socket operations and
integrate it across the code base.
* Provide an optional TLS connections implementation based on OpenSSL.
* Pull a newer version of hiredis with TLS support.
* Tests, redis-cli updates for TLS support.
2019-10-07 21:06:13 +03:00
nikhilajayk
c9cf8a3c5f Added cluster host and protected mode variables 2019-09-26 21:51:49 +05:30
antirez
7cd02bbab9 tracking_collisions.c: sha1 + crc64 implemented. 2019-08-02 20:24:27 +02:00
antirez
766550a7c6 tracking_collisions.c: initial skeleton.
... of a program to just test the hashing functions collisions on a 24
bit output with strings that are very likely Redis key names, and names
of a kind that are particularly prone to collisions.
2019-08-02 20:13:21 +02:00
Brad Solomon
7a9a0f891d Note that install_server.sh is not for Mac OSX
It will fail pretty quickly since there is no -f
readlink flag there.
2019-03-09 10:21:15 -05:00
varianfeng
9514b25a85 fix corrupt_rdb.c bug.Let the name of input rdb file name be valid. 2019-03-01 17:46:42 +01:00
antirez
963da462fa showfreq.rb: collect more data for better graphs. 2019-02-19 17:25:58 +01:00
antirez
438688d956 Improve README of better-random-member directory. 2019-02-19 12:01:26 +01:00
antirez
c3b4760143 Add showfreq.rb to SRANDMEMBER analysis tools. 2019-02-18 18:47:49 +01:00
antirez
85cdb79d14 showdist.rb utility for SRANDMEMBER analysis added. 2019-02-18 12:39:07 +01:00
antirez
8249ef2cc1 changelog.tcl: get optional argument for number of commits. 2018-10-10 11:03:36 +02:00
Jack Drogon
bae1d36e5d Fix typo 2018-07-03 18:19:46 +02:00
antirez
4e0dd919f0 Add the stream group to the script generating the help. 2018-06-07 18:52:01 +02:00
artix
614127c478 - Updated create-cluster with redis-cli
- Updated README
2018-05-07 15:56:15 +02:00
antirez
fd0374c8a7 Add INIT INFO to the provided init script. 2018-03-26 11:29:16 +02:00
antirez
093c175d2a Fix HyperLogLog test script for new redis-rb API. 2018-03-16 16:34:04 +01:00
Salvatore Sanfilippo
4e01236ba9 Merge pull request #1934 from badboy/install-script-1922
Don't use extended Regexp Syntax
2017-07-24 15:20:31 +02:00
antirez
5885d4e98b changelog.tcl: output 100 lines. 2017-07-14 13:04:37 +02:00
Aric Huang
143c09f422 (fix) Update create-cluster README
Fix a few typos/adjust wording in `create-cluster` README
2017-06-16 16:10:00 -07:00
antirez
e456bb0297 Cluster: add clean-logs command to create-cluster script. 2017-04-14 10:52:00 +02:00
antirez
1a7da8dc30 Use sha256 instead of sha1 to generate tarball hashes. 2017-03-09 13:49:36 +01:00
antirez
38691907b6 Fix HLL gnuplot graph generator script for new redis-rb versions.
The PFADD now takes an array and has mandatory two arguments.
2016-12-16 11:07:30 +01:00
antirez
183247d75e Changelog format modified to be less verbose. 2016-07-28 14:15:31 +02:00
antirez
354cbd0eb2 test-lru.rb: support for testing volatile-ttl policy. 2016-07-20 19:02:20 +02:00
antirez
53112a41e6 LFU simulator: remove dead code. 2016-07-14 16:06:36 +02:00
antirez
c7420bad96 LRU simulator: fix new entry creation decr time. 2016-07-14 15:55:17 +02:00
antirez
c719391468 LRU simulator: fix new entry creation. 2016-07-14 15:51:51 +02:00
antirez
0f3fd1a7f4 LFU: Simulation of the algorithm planned for Redis.
We have 24 total bits of space in each object in order to implement
an LFU (Least Frequently Used) eviction policy.

We split the 24 bits into two fields:

      8 bits      16 bits
    +--------+----------------+
    | LOG_C  | Last decr time |
    +--------+----------------+

LOG_C is a logarithmic counter that provides an indication of the access
frequency. However this field must also be deceremented otherwise what used
to be a frequently accessed key in the past, will remain ranked like that
forever, while we want the algorithm to adapt to access pattern changes.

So the remaining 16 bits are used in order to store the "decrement time",
a reduced-precision unix time (we take 16 bits of the time converted
in minutes since we don't care about wrapping around) where the LOG_C
counter is halved if it has an high value, or just decremented if it
has a low value.

New keys don't start at zero, in order to have the ability to collect
some accesses before being trashed away, so they start at COUNTER_INIT_VAL.
The logaritmic increment performed on LOG_C takes care of COUNTER_INIT_VAL
when incrementing the key, so that keys starting at COUNTER_INIT_VAL
(or having a smaller value) have a very high chance of being incremented
on access.

The simulation starts with a power-law access pattern, and later converts
into a flat access pattern in order to see how the algorithm adapts.
Currenty the decrement operation period is 1 minute, however note that
it is not guaranteed that each key will be scanned 1 time every minute,
so the actual frequency can be lower. However under high load, we access
3/5 keys every newly inserted key (because of how Redis eviction works).

This is a work in progress at this point to evaluate if this works well.
2016-07-14 15:21:48 +02:00
antirez
49478a4e8a LRU: Fix output fixes to new test-lru.rb. 2016-07-11 16:26:02 +02:00
antirez
17d48f92e6 LRU: test-lru.rb improved in different ways.
1. Scan keys with pause to account for actual LRU precision.
2. Test cross-DB with 100 keys allocated in DB1.
3. Output results that don't fluctuate depending on number of keys.
4. Output results in percentage to make more sense.
5. Save file instead of outputting to STDOUT.
6. Support running multiple times with average of outputs.
7. Label each square (DIV) with its ID as HTML title.
2016-07-11 16:23:50 +02:00
antirez
a3e72ca122 Added a trivial program to randomly corrupt RDB files in /utils. 2016-07-01 09:55:50 +02:00
Michiel De Mey
80ce0f7c13 Added documentation for non-interactive install procedure 2016-06-10 10:11:46 +02:00
Michiel De Mey
8bc30256b7 Allow non-interactive execution of install_server
This PR adds the ability to execute the installation script non-interactively, useful for automated provisioning scripts such as Chef, Puppet, Ansible, Salt, etc.
Simply feed the environment variables into the install script to skip the prompts.

For debug and verification purposes, the script will still output the selected config variables.
The plus side is that the environment variables also support command substitution (see REDIS_EXECUTABLE).

```
sudo REDIS_PORT=1234 REDIS_CONFIG_FILE=/etc/redis/1234.conf REDIS_LOG_FILE=/var/log/redis_1234.log REDIS_DATA_DIR=/var/lib/redis/1234 REDIS_EXECUTABLE=`command -v redis-server` ./utils/install_server.sh

Welcome to the redis service installer
This script will help you easily set up a running redis server

Selected config:
Port           : 1234
Config file    : /etc/redis/1234.conf
Log file       : /var/log/redis_1234.log
Data dir       : /var/lib/redis/1234
Executable     : /usr/local/bin/redis-server
Cli Executable : /usr/local/bin/redis-cli
Copied /tmp/1234.conf => /etc/init.d/redis_1234
Installing service...
Successfully added to chkconfig!
Successfully added to runlevels 345!
Starting Redis server...
Installation successful!
```
2016-05-13 11:47:55 +02:00
antirez
25c7c4a198 Added a tool for generating changelogs automatically.
Sometimes Redis patch releases are released in a matter of weeks or days
one after the other. In order to have less release friction the idea is
to stop writing changelogs by hand, in order to also cover everything
interesting there is to say. Useless things can be deleted manually by
the changelog. Also this gives more credits to contributors since often
in the commit message involved people are cited even when they are not
the authors of the commit.
2016-05-04 22:41:57 +02:00
antirez
19ce6fa96b 03_test_release.sh: proper cleanup before testing. 2016-01-28 13:06:02 +01:00