Compare commits
259
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c801414b40 | ||
|
|
f4c317d285 | ||
|
|
420ccdfbae | ||
|
|
41466a4147 | ||
|
|
9798f2d711 | ||
|
|
5f3543921b | ||
|
|
a41366cc3a | ||
|
|
4c7e4b91a6 | ||
|
|
28183f4b66 | ||
|
|
a0abc1eddd | ||
|
|
676644f2db | ||
|
|
22ac56d62d | ||
|
|
143f7f634d | ||
|
|
955faef23a | ||
|
|
2e159e6ea3 | ||
|
|
02b533fec3 | ||
|
|
de3099e6d8 | ||
|
|
368f67f422 | ||
|
|
13c9a094d1 | ||
|
|
0f8b7a19ef | ||
|
|
8f7d977f90 | ||
|
|
064440ee84 | ||
|
|
50641d0569 | ||
|
|
f5ecc77e29 | ||
|
|
655bb6e21c | ||
|
|
ab4cdd2ed4 | ||
|
|
d3834c5069 | ||
|
|
7a1b2c58c3 | ||
|
|
7fc6d6c6b1 | ||
|
|
dec5db4e71 | ||
|
|
03b59cd5f0 | ||
|
|
5380716a70 | ||
|
|
18b30467f7 | ||
|
|
0052d5196d | ||
|
|
b55b0ea0f2 | ||
|
|
25e211bcf0 | ||
|
|
635704d424 | ||
|
|
47364bce69 | ||
|
|
3cd6c26056 | ||
|
|
8b0d797ecd | ||
|
|
3c8b394511 | ||
|
|
84ba2ec82b | ||
|
|
cf3375bf7c | ||
|
|
643d3e0b79 | ||
|
|
874c3a9978 | ||
|
|
781e50d41f | ||
|
|
57dbd6e90d | ||
|
|
e9fef49e12 | ||
|
|
a227bc8053 | ||
|
|
d410dc3162 | ||
|
|
41c7c7919c | ||
|
|
db6c763d8b | ||
|
|
72d6f966ac | ||
|
|
28e074608c | ||
|
|
5b8de5b7f2 | ||
|
|
bce350c666 | ||
|
|
332aa2f919 | ||
|
|
e4db67ea57 | ||
|
|
b983015dd4 | ||
|
|
9b718d41f0 | ||
|
|
da33a18588 | ||
|
|
d47aeb1fc8 | ||
|
|
e47584b286 | ||
|
|
dbea5f7a8d | ||
|
|
4bb40a9688 | ||
|
|
d2532d1335 | ||
|
|
00d0d870d2 | ||
|
|
f38e2802b6 | ||
|
|
1b100a167a | ||
|
|
d4e1c88052 | ||
|
|
2c0c5a809c | ||
|
|
f6d04d01b9 | ||
|
|
2fc915f509 | ||
|
|
e3cfc92180 | ||
|
|
7fcf29e615 | ||
|
|
e81bac32fd | ||
|
|
2257f38b68 | ||
|
|
2165a78d10 | ||
|
|
e6f6731c66 | ||
|
|
5a9a653f3e | ||
|
|
ff0846cbb7 | ||
|
|
3e2ed279fd | ||
|
|
19ef1f371d | ||
|
|
8d79702d8a | ||
|
|
6cfcf76e0b | ||
|
|
c9478a3b4e | ||
|
|
113d5ae872 | ||
|
|
1bd75aafdb | ||
|
|
ba48e7e9cd | ||
|
|
4e19358d65 | ||
|
|
43bc1ea065 | ||
|
|
3842bfd899 | ||
|
|
6dcd641681 | ||
|
|
1180537589 | ||
|
|
2e7ad58918 | ||
|
|
39ffc3702f | ||
|
|
31415cb27a | ||
|
|
840a9951b5 | ||
|
|
3c87d572b9 | ||
|
|
d3831559cf | ||
|
|
44ef19743e | ||
|
|
171f83306e | ||
|
|
0314429c8f | ||
|
|
086707315f | ||
|
|
9fd0c027e7 | ||
|
|
0e581e0044 | ||
|
|
e8801f7eaa | ||
|
|
3a677b45ac | ||
|
|
dc46f6f041 | ||
|
|
916b215fc5 | ||
|
|
9f0e8f7849 | ||
|
|
a5294c4e52 | ||
|
|
e511ab2cc6 | ||
|
|
7200b3aa0f | ||
|
|
e8efcdee0a | ||
|
|
2bcc056a41 | ||
|
|
b2bd3c0653 | ||
|
|
4238df5436 | ||
|
|
c68b3908a6 | ||
|
|
1c05b87e30 | ||
|
|
67750ce3b3 | ||
|
|
096285ab64 | ||
|
|
0b2f7c6407 | ||
|
|
8a4240b1fa | ||
|
|
395d339234 | ||
|
|
6daa8b9adb | ||
|
|
e00b6248c9 | ||
|
|
e8aa5583d0 | ||
|
|
f1d5d5d28e | ||
|
|
cc7f4ba67e | ||
|
|
af907e4b6d | ||
|
|
d2f09a054c | ||
|
|
cef46edebc | ||
|
|
9e997cd0d1 | ||
|
|
171aa22b0b | ||
|
|
f17d178d03 | ||
|
|
d88fd1588d | ||
|
|
7bf665f125 | ||
|
|
a5696bdf4f | ||
|
|
e15528bf1d | ||
|
|
e28aa99af1 | ||
|
|
3051430040 | ||
|
|
29b20fd528 | ||
|
|
5b36681213 | ||
|
|
0f75036c07 | ||
|
|
b1a01fda91 | ||
|
|
83f55f61a6 | ||
|
|
f89f50dbd0 | ||
|
|
05f8975d21 | ||
|
|
4780cc5efa | ||
|
|
9bc6af2449 | ||
|
|
c4b428a388 | ||
|
|
aea4db2f5a | ||
|
|
b5c5f870a4 | ||
|
|
23bf3d1cb9 | ||
|
|
1be6dbbdf6 | ||
|
|
1acdc84d10 | ||
|
|
52929b61f8 | ||
|
|
b0faf6113e | ||
|
|
f838df92d2 | ||
|
|
7a536c2912 | ||
|
|
6f1e828454 | ||
|
|
2d3687655b | ||
|
|
b057ff81ee | ||
|
|
a9d1014fb2 | ||
|
|
183bdc11c0 | ||
|
|
95ba01b538 | ||
|
|
7b21b8c3fb | ||
|
|
33ca884cc5 | ||
|
|
2b5f23197c | ||
|
|
1104113c07 | ||
|
|
62f8583445 | ||
|
|
3155adb299 | ||
|
|
14a59d4ce7 | ||
|
|
17aaf5ec97 | ||
|
|
3f5cf24da9 | ||
|
|
05e483cbb3 | ||
|
|
c8f250f8dd | ||
|
|
9412094f25 | ||
|
|
8312aa27d4 | ||
|
|
d3aa3791fe | ||
|
|
2b189f098e | ||
|
|
3328b7a514 | ||
|
|
88e1f80eee | ||
|
|
0ebbc36059 | ||
|
|
43ed3c3589 | ||
|
|
8095daea4a | ||
|
|
51e178454d | ||
|
|
82b2bfd20b | ||
|
|
ec1faeec72 | ||
|
|
c1326d7b10 | ||
|
|
845fb2d1c1 | ||
|
|
930fac8058 | ||
|
|
119797014c | ||
|
|
e8f568644b | ||
|
|
b736a95b0d | ||
|
|
d909d12cb3 | ||
|
|
201ffa9d62 | ||
|
|
5619f51528 | ||
|
|
d99d06b125 | ||
|
|
1b9ade7f65 | ||
|
|
e01312642b | ||
|
|
cd9514f4c8 | ||
|
|
f111c23415 | ||
|
|
6857c4c208 | ||
|
|
52897f8f9a | ||
|
|
8bc70e9840 | ||
|
|
5b81303f04 | ||
|
|
ede524c064 | ||
|
|
aeed09c346 | ||
|
|
0cae0900cf | ||
|
|
e0022d8cfe | ||
|
|
495327c020 | ||
|
|
afb8b3c030 | ||
|
|
31c9cd8604 | ||
|
|
70b80aa5fa | ||
|
|
51efb7fe25 | ||
|
|
a7d3670da5 | ||
|
|
ee8dd01bbc | ||
|
|
a4a856d532 | ||
|
|
e2046b3003 | ||
|
|
b35fdf1de1 | ||
|
|
1d7bf208ce | ||
|
|
676445ad95 | ||
|
|
4846c0c8af | ||
|
|
e8d4d095cc | ||
|
|
c50a3568a5 | ||
|
|
17e96b91b5 | ||
|
|
c5e7a8517b | ||
|
|
c36773777d | ||
|
|
d69e0b8561 | ||
|
|
19ccc22a43 | ||
|
|
6968a0cfcb | ||
|
|
df618fbd9f | ||
|
|
94acd43340 | ||
|
|
14bdd745d1 | ||
|
|
aa3f5de16f | ||
|
|
9f7890cb1a | ||
|
|
1dc34c16b5 | ||
|
|
b0e7be7ce2 | ||
|
|
026ab4c922 | ||
|
|
07ba64c200 | ||
|
|
b4b35cf904 | ||
|
|
ba974c9810 | ||
|
|
9817db7edd | ||
|
|
515bb0e6bd | ||
|
|
bc7ea8fb20 | ||
|
|
2caf8e4c80 | ||
|
|
e1f3cd6ec3 | ||
|
|
02e821530a | ||
|
|
b6c3d80edb | ||
|
|
f33de403ed | ||
|
|
49af4d07e4 | ||
|
|
329fddbda1 | ||
|
|
925a2cd5aa | ||
|
|
84a7a90586 | ||
|
|
cd63359a17 | ||
|
|
0042586190 | ||
|
|
c6dce838b7 |
No files matched your search
@@ -7,9 +7,10 @@ jobs:
|
||||
test-ubuntu-latest:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: actions/checkout@v2
|
||||
- name: make
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get -y install uuid-dev libcurl4-openssl-dev
|
||||
make BUILD_TLS=yes -j2
|
||||
- name: gen-cert
|
||||
@@ -34,22 +35,24 @@ jobs:
|
||||
- uses: actions/checkout@v1
|
||||
- name: make -j2
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get -y install uuid-dev libcurl4-openssl-dev
|
||||
make -j2
|
||||
|
||||
build-macos-latest:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: actions/checkout@v2
|
||||
- name: make
|
||||
run: make -j2
|
||||
|
||||
build-libc-malloc:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: actions/checkout@v2
|
||||
- name: make
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get -y install uuid-dev libcurl4-openssl-dev
|
||||
make MALLOC=libc -j2
|
||||
|
||||
+100
-10
@@ -1,16 +1,21 @@
|
||||
name: Daily
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
# any PR to a release branch.
|
||||
- '[0-9].[0-9]'
|
||||
schedule:
|
||||
- cron: '0 7 * * *'
|
||||
- cron: '0 0 * * *'
|
||||
|
||||
jobs:
|
||||
|
||||
test-jemalloc:
|
||||
test-ubuntu-jemalloc:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 1200
|
||||
if: github.repository == 'redis/redis'
|
||||
timeout-minutes: 14400
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: actions/checkout@v2
|
||||
- name: make
|
||||
run: |
|
||||
sudo apt-get -y install uuid-dev libcurl4-openssl-dev
|
||||
@@ -21,12 +26,17 @@ jobs:
|
||||
./runtest --accurate --verbose
|
||||
- name: module api test
|
||||
run: ./runtest-moduleapi --verbose
|
||||
- name: sentinel tests
|
||||
run: ./runtest-sentinel
|
||||
- name: cluster tests
|
||||
run: ./runtest-cluster
|
||||
|
||||
test-libc-malloc:
|
||||
test-ubuntu-libc-malloc:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 1200
|
||||
if: github.repository == 'redis/redis'
|
||||
timeout-minutes: 14400
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: actions/checkout@v2
|
||||
- name: make
|
||||
run: |
|
||||
sudo apt-get -y install uuid-dev libcurl4-openssl-dev
|
||||
@@ -37,11 +47,17 @@ jobs:
|
||||
./runtest --accurate --verbose
|
||||
- name: module api test
|
||||
run: ./runtest-moduleapi --verbose
|
||||
- name: sentinel tests
|
||||
run: ./runtest-sentinel
|
||||
- name: cluster tests
|
||||
run: ./runtest-cluster
|
||||
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository == 'redis/redis'
|
||||
timeout-minutes: 14400
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: actions/checkout@v2
|
||||
- name: make
|
||||
run: |
|
||||
sudo apt-get -y install uuid-dev libcurl4-openssl-dev
|
||||
@@ -59,7 +75,7 @@ jobs:
|
||||
test-ubuntu-arm:
|
||||
runs-on: [self-hosted, linux, arm]
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: actions/checkout@v2
|
||||
- name: make
|
||||
run: |
|
||||
sudo apt-get -y install uuid-dev libcurl4-openssl-dev
|
||||
@@ -74,9 +90,10 @@ jobs:
|
||||
|
||||
test-valgrind:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository == 'redis/redis'
|
||||
timeout-minutes: 14400
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: actions/checkout@v2
|
||||
- name: make
|
||||
run: |
|
||||
sudo apt-get -y install uuid-dev libcurl4-openssl-dev
|
||||
@@ -87,3 +104,76 @@ jobs:
|
||||
./runtest --valgrind --verbose --clients 1
|
||||
- name: module api test
|
||||
run: ./runtest-moduleapi --valgrind --verbose --clients 1
|
||||
|
||||
test-centos7-jemalloc:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository == 'redis/redis'
|
||||
container: centos:7
|
||||
timeout-minutes: 14400
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: make
|
||||
run: |
|
||||
yum -y install centos-release-scl
|
||||
yum -y install devtoolset-7
|
||||
scl enable devtoolset-7 "make"
|
||||
- name: test
|
||||
run: |
|
||||
yum -y install tcl
|
||||
./runtest --accurate --verbose
|
||||
- name: module api test
|
||||
run: ./runtest-moduleapi --verbose
|
||||
- name: sentinel tests
|
||||
run: ./runtest-sentinel
|
||||
- name: cluster tests
|
||||
run: ./runtest-cluster
|
||||
|
||||
test-centos7-tls:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository == 'redis/redis'
|
||||
container: centos:7
|
||||
timeout-minutes: 14400
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: make
|
||||
run: |
|
||||
yum -y install centos-release-scl epel-release
|
||||
yum -y install devtoolset-7 openssl-devel openssl
|
||||
scl enable devtoolset-7 "make BUILD_TLS=yes"
|
||||
- name: test
|
||||
run: |
|
||||
yum -y install tcl tcltls
|
||||
./utils/gen-test-certs.sh
|
||||
./runtest --accurate --verbose --tls
|
||||
./runtest --accurate --verbose
|
||||
- name: module api test
|
||||
run: |
|
||||
./runtest-moduleapi --verbose --tls
|
||||
./runtest-moduleapi --verbose
|
||||
- name: sentinel tests
|
||||
run: |
|
||||
./runtest-sentinel --tls
|
||||
./runtest-sentinel
|
||||
- name: cluster tests
|
||||
run: |
|
||||
./runtest-cluster --tls
|
||||
./runtest-cluster
|
||||
|
||||
test-macos-latest:
|
||||
runs-on: macos-latest
|
||||
if: github.repository == 'redis/redis'
|
||||
timeout-minutes: 14400
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: make
|
||||
run: make
|
||||
- name: test
|
||||
run: |
|
||||
./runtest --accurate --verbose
|
||||
- name: module api test
|
||||
run: ./runtest-moduleapi --verbose
|
||||
- name: sentinel tests
|
||||
run: ./runtest-sentinel
|
||||
- name: cluster tests
|
||||
run: ./runtest-cluster
|
||||
|
||||
@@ -17,6 +17,6 @@ jobs:
|
||||
make -j8
|
||||
- name: test-multithread (5X)
|
||||
run: |
|
||||
sudo apt-get install -y tcl8.5
|
||||
./runtest --loopn 5 --config server-threads 3 --clients 5
|
||||
sudo apt-get install -y tcl tcl-tls
|
||||
./runtest --loopn 5 --config server-threads 3 --clients 5 --endurance
|
||||
|
||||
+20
-3
@@ -4,8 +4,24 @@ core
|
||||
*.xo
|
||||
*.so
|
||||
*.d
|
||||
!**/bash_completion.d
|
||||
!**/logrotate.d
|
||||
!**/keydb.service.d
|
||||
!**/keydb-sentinel.service.d
|
||||
*.log
|
||||
dump.rdb
|
||||
src/keydb-server
|
||||
**/bin/keydb-server
|
||||
**/app/keydb-server
|
||||
*.deb
|
||||
*.rpm
|
||||
keydb-pro-server
|
||||
src/keydb-cli
|
||||
**/bin/keydb-cli
|
||||
**/app/keydb-cli
|
||||
src/keydb-sentinel
|
||||
**/bin/keydb-sentinel
|
||||
**/app/keydb-sentinel
|
||||
redis-benchmark
|
||||
keydb-benchmark
|
||||
redis-check-aof
|
||||
@@ -15,11 +31,8 @@ keydb-check-rdb
|
||||
redis-check-dump
|
||||
keydb-check-dump
|
||||
redis-cli
|
||||
keydb-cli
|
||||
redis-sentinel
|
||||
keydb-sentinel
|
||||
redis-server
|
||||
keydb-server
|
||||
doc-tools
|
||||
release
|
||||
misc/*
|
||||
@@ -35,9 +48,13 @@ src/nodes.conf
|
||||
deps/lua/src/lua
|
||||
deps/lua/src/luac
|
||||
deps/lua/src/liblua.a
|
||||
tests/tls/*
|
||||
.make-*
|
||||
.prerequisites
|
||||
*.dSYM
|
||||
Makefile.dep
|
||||
.vscode/*
|
||||
.idea/*
|
||||
.ccls
|
||||
.ccls-cache/*
|
||||
compile_commands.json
|
||||
+787
@@ -11,6 +11,793 @@ CRITICAL: There is a critical bug affecting MOST USERS. Upgrade ASAP.
|
||||
SECURITY: There are security fixes in the release.
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
================================================================================
|
||||
Redis 6.0.8 Released Wed Sep 09 23:34:17 IDT 2020
|
||||
================================================================================
|
||||
|
||||
Upgrade urgency HIGH: Anyone who's using Redis 6.0.7 with Sentinel or
|
||||
CONFIG REWRITE command is affected and should upgrade ASAP, see #7760.
|
||||
|
||||
Bug fixes:
|
||||
|
||||
* CONFIG REWRITE after setting oom-score-adj-values either via CONFIG SET or
|
||||
loading it from a config file, will generate a corrupt config file that will
|
||||
cause Redis to fail to start
|
||||
* Fix issue with redis-cli --pipe on MacOS
|
||||
* Fix RESP3 response for HKEYS/HVALS on non-existing key
|
||||
* Various small bug fixes
|
||||
|
||||
New features / Changes:
|
||||
|
||||
* Remove THP warning when set to madvise
|
||||
* Allow EXEC with read commands on readonly replica in cluster
|
||||
* Add masters/replicas options to redis-cli --cluster call command
|
||||
|
||||
Module API:
|
||||
|
||||
* Add RedisModule_ThreadSafeContextTryLock
|
||||
|
||||
Full list of commits:
|
||||
|
||||
Oran Agra in commit cdabf696a:
|
||||
Fix RESP3 response for HKEYS/HVALS on non-existing key
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
Oran Agra in commit ec633c716:
|
||||
Fix leak in new blockedclient module API test
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
Yossi Gottlieb in commit 6bac07c5c:
|
||||
Tests: fix oom-score-adj false positives. (#7772)
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
杨博东 in commit 6043dc614:
|
||||
Tests: Add aclfile load and save tests (#7765)
|
||||
2 files changed, 41 insertions(+)
|
||||
|
||||
Roi Lipman in commit c0b5f9bf0:
|
||||
RM_ThreadSafeContextTryLock a non-blocking method for acquiring GIL (#7738)
|
||||
7 files changed, 122 insertions(+), 1 deletion(-)
|
||||
|
||||
Yossi Gottlieb in commit 5780a1599:
|
||||
Tests: validate CONFIG REWRITE for all params. (#7764)
|
||||
6 files changed, 43 insertions(+), 6 deletions(-)
|
||||
|
||||
Oran Agra in commit e3c14b25d:
|
||||
Change THP warning to use madvise rather than never (#7771)
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Itamar Haber in commit 28929917b:
|
||||
Documents RM_Call's fmt (#5448)
|
||||
1 file changed, 25 insertions(+)
|
||||
|
||||
Jan-Erik Rediger in commit 9146402c2:
|
||||
Check that THP is not set to always (madvise is ok) (#4001)
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Yossi Gottlieb in commit d05089429:
|
||||
Tests: clean up stale .cli files. (#7768)
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
Eran Liberty in commit 8861c1bae:
|
||||
Allow exec with read commands on readonly replica in cluster (#7766)
|
||||
3 files changed, 59 insertions(+), 3 deletions(-)
|
||||
|
||||
Yossi Gottlieb in commit 2cf2ff2f6:
|
||||
Fix CONFIG REWRITE of oom-score-adj-values. (#7761)
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
Oran Agra in commit 1386c80f7:
|
||||
handle cur_test for nested tests
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
Oran Agra in commit c7d4945f0:
|
||||
Add daily CI for MacOS (#7759)
|
||||
1 file changed, 18 insertions(+)
|
||||
|
||||
bodong.ybd in commit 32548264c:
|
||||
Tests: Some fixes for macOS
|
||||
3 files changed, 26 insertions(+), 11 deletions(-)
|
||||
|
||||
Oran Agra in commit 1e17f9812:
|
||||
Fix cluster consistency-check test (#7754)
|
||||
1 file changed, 55 insertions(+), 29 deletions(-)
|
||||
|
||||
Yossi Gottlieb in commit f4ecdf86a:
|
||||
Tests: fix unmonitored servers. (#7756)
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
Oran Agra in commit 9f020050d:
|
||||
fix broken cluster/sentinel tests by recent commit (#7752)
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Oran Agra in commit fdbabb496:
|
||||
Improve valgrind support for cluster tests (#7725)
|
||||
3 files changed, 83 insertions(+), 23 deletions(-)
|
||||
|
||||
Oran Agra in commit 35a6a0bbc:
|
||||
test infra - add durable mode to work around test suite crashing
|
||||
3 files changed, 35 insertions(+), 3 deletions(-)
|
||||
|
||||
Oran Agra in commit e3136b13f:
|
||||
test infra - wait_done_loading
|
||||
2 files changed, 16 insertions(+), 36 deletions(-)
|
||||
|
||||
Oran Agra in commit 83c75dbd9:
|
||||
test infra - flushall between tests in external mode
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
Oran Agra in commit 265f5d3cf:
|
||||
test infra - improve test skipping ability
|
||||
3 files changed, 91 insertions(+), 36 deletions(-)
|
||||
|
||||
Oran Agra in commit fcd3a9908:
|
||||
test infra - reduce disk space usage
|
||||
3 files changed, 33 insertions(+), 11 deletions(-)
|
||||
|
||||
Oran Agra in commit b6ea4699f:
|
||||
test infra - write test name to logfile
|
||||
3 files changed, 35 insertions(+)
|
||||
|
||||
Yossi Gottlieb in commit 4a4b07fc6:
|
||||
redis-cli: fix writeConn() buffer handling. (#7749)
|
||||
1 file changed, 37 insertions(+), 6 deletions(-)
|
||||
|
||||
Oran Agra in commit f2d08de2e:
|
||||
Print server startup messages after daemonization (#7743)
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
Thandayuthapani in commit 77541d555:
|
||||
Add masters/replicas options to redis-cli --cluster call command (#6491)
|
||||
1 file changed, 13 insertions(+), 2 deletions(-)
|
||||
|
||||
Oran Agra in commit 91d13a854:
|
||||
fix README about BUILD_WITH_SYSTEMD usage (#7739)
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Yossi Gottlieb in commit 88d03d965:
|
||||
Fix double-make issue with make && make install. (#7734)
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
================================================================================
|
||||
Redis 6.0.7 Released Fri Aug 28 11:05:09 IDT 2020
|
||||
================================================================================
|
||||
|
||||
Upgrade urgency MODERATE: several bugs with moderate impact are fixed,
|
||||
Specifically the first two listed below which cause protocol errors for clients.
|
||||
|
||||
Bug fixes:
|
||||
|
||||
* CONFIG SET could hung the client when arrives during RDB/ROF loading (When
|
||||
processed after another command that was also rejected with -LOADING error)
|
||||
* LPOS command when RANK is greater than matches responded wiht broken protocol
|
||||
(negative multi-bulk count)
|
||||
* UNLINK / Lazyfree for stream type key would have never do async freeing
|
||||
* PERSIST should invalidate WATCH (Like EXPIRE does)
|
||||
* EXEC with only read commands could have be rejected when OOM
|
||||
* TLS: relax verification on CONFIG SET (Don't error if some configs are set
|
||||
and tls isn't enabled)
|
||||
* TLS: support cluster/replication without tls-port
|
||||
* Systemd startup after network is online
|
||||
* Redis-benchmark improvements
|
||||
* Various small bug fixes
|
||||
|
||||
New features:
|
||||
|
||||
* Add oom-score-adj configuration option to control Linux OOM killer
|
||||
* Show IO threads statistics and status in INFO output
|
||||
* Add optional tls verification mode (see tls-auth-clients)
|
||||
|
||||
Module API:
|
||||
|
||||
* Add RedisModule_HoldString
|
||||
* Add loaded keyspace event
|
||||
* Fix RedisModuleEvent_LoadingProgress
|
||||
* Fix RedisModuleEvent_MasterLinkChange hook missing on successful psync
|
||||
* Fix missing RM_CLIENTINFO_FLAG_SSL
|
||||
* Refactor redismodule.h for use with -fno-common / extern
|
||||
|
||||
Full list of commits:
|
||||
|
||||
Oran Agra in commit c26394e4f:
|
||||
Reduce the probability of failure when start redis in runtest-cluster #7554 (#7635)
|
||||
1 file changed, 23 insertions(+), 5 deletions(-)
|
||||
|
||||
Leoš Literák in commit 745d5e802:
|
||||
Update README.md with instructions how to build with systemd support (#7730)
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
Yossi Gottlieb in commit 03f1d208a:
|
||||
Fix oom-score-adj on older distros. (#7724)
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
Yossi Gottlieb in commit 941174d9c:
|
||||
Backport Lua 5.2.2 stack overflow fix. (#7733)
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Wang Yuan in commit c897dba14:
|
||||
Fix wrong format specifiers of 'sdscatfmt' for the INFO command (#7706)
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Wen Hui in commit 5e3fab5e7:
|
||||
fix make warnings (#7692)
|
||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
Nathan Scott in commit a2b09c13f:
|
||||
Annotate module API functions in redismodule.h for use with -fno-common (#6900)
|
||||
1 file changed, 265 insertions(+), 241 deletions(-)
|
||||
|
||||
Yossi Gottlieb in commit bf244273f:
|
||||
Add oom-score-adj configuration option to control Linux OOM killer. (#1690)
|
||||
8 files changed, 306 insertions(+), 1 deletion(-)
|
||||
|
||||
Meir Shpilraien (Spielrein) in commit b5a6ab98f:
|
||||
see #7544, added RedisModule_HoldString api. (#7577)
|
||||
4 files changed, 83 insertions(+), 8 deletions(-)
|
||||
|
||||
ShooterIT in commit ff04cf62b:
|
||||
[Redis-benchmark] Remove zrem test, add zpopmin test
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
ShooterIT in commit 0f3260f31:
|
||||
[Redis-benchmark] Support zset type
|
||||
1 file changed, 16 insertions(+)
|
||||
|
||||
Arun Ranganathan in commit 45d0b94fc:
|
||||
Show threading configuration in INFO output (#7446)
|
||||
3 files changed, 46 insertions(+), 14 deletions(-)
|
||||
|
||||
Meir Shpilraien (Spielrein) in commit a22f61e12:
|
||||
This PR introduces a new loaded keyspace event (#7536)
|
||||
8 files changed, 135 insertions(+), 4 deletions(-)
|
||||
|
||||
Oran Agra in commit 1c9ca1030:
|
||||
Fix rejectCommand trims newline in shared error objects, hung clients (#7714)
|
||||
4 files changed, 42 insertions(+), 23 deletions(-)
|
||||
|
||||
valentinogeron in commit 217471795:
|
||||
EXEC with only read commands should not be rejected when OOM (#7696)
|
||||
2 files changed, 51 insertions(+), 8 deletions(-)
|
||||
|
||||
Itamar Haber in commit 6e6c47d16:
|
||||
Expands lazyfree's effort estimate to include Streams (#5794)
|
||||
1 file changed, 24 insertions(+)
|
||||
|
||||
Yossi Gottlieb in commit da6813623:
|
||||
Add language servers stuff, test/tls to gitignore. (#7698)
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
Valentino Geron in commit de7fb126e:
|
||||
Assert that setDeferredAggregateLen isn't called with negative value
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
Valentino Geron in commit 6cf27f25f:
|
||||
Fix LPOS command when RANK is greater than matches
|
||||
2 files changed, 9 insertions(+), 2 deletions(-)
|
||||
|
||||
Yossi Gottlieb in commit 9bba54ace:
|
||||
Tests: fix redis-cli with remote hosts. (#7693)
|
||||
3 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
huangzhw in commit 0fec2cb81:
|
||||
RedisModuleEvent_LoadingProgress always at 100% progress (#7685)
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
guybe7 in commit 931e19aa6:
|
||||
Modules: Invalidate saved_oparray after use (#7688)
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
杨博东 in commit 6f2065570:
|
||||
Fix flock cluster config may cause failure to restart after kill -9 (#7674)
|
||||
4 files changed, 31 insertions(+), 7 deletions(-)
|
||||
|
||||
Raghav Muddur in commit 200149a2a:
|
||||
Update clusterMsgDataPublish to clusterMsgModule (#7682)
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Madelyn Olson in commit 72daa1b4e:
|
||||
Fixed hset error since it's shared with hmset (#7678)
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
guybe7 in commit 3bf9ac994:
|
||||
PERSIST should signalModifiedKey (Like EXPIRE does) (#7671)
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
Oran Agra in commit b37501684:
|
||||
OOM Crash log include size of allocation attempt. (#7670)
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
Wen Hui in commit 2136cb68f:
|
||||
[module] using predefined REDISMODULE_NO_EXPIRE in RM_GetExpire (#7669)
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
Oran Agra in commit f56aee4bc:
|
||||
Trim trailing spaces in error replies coming from rejectCommand (#7668)
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
Yossi Gottlieb in commit 012d7506a:
|
||||
Module API: fix missing RM_CLIENTINFO_FLAG_SSL. (#7666)
|
||||
6 files changed, 82 insertions(+), 1 deletion(-)
|
||||
|
||||
Yossi Gottlieb in commit a0adbc857:
|
||||
TLS: relax verification on CONFIG SET. (#7665)
|
||||
2 files changed, 24 insertions(+), 7 deletions(-)
|
||||
|
||||
Madelyn Olson in commit 2ef29715b:
|
||||
Fixed timer warning (#5953)
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Wagner Francisco Mezaroba in commit b76f171f5:
|
||||
allow --pattern to be used along with --bigkeys (#3586)
|
||||
1 file changed, 9 insertions(+), 2 deletions(-)
|
||||
|
||||
zhaozhao.zz in commit cc7b57765:
|
||||
redis-benchmark: fix wrong random key for hset (#4895)
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
zhaozhao.zz in commit 479c1ba77:
|
||||
CLIENT_MASTER should ignore server.proto_max_bulk_len
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
zhaozhao.zz in commit f61ce8a52:
|
||||
config: proto-max-bulk-len must be 1mb or greater
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
zhaozhao.zz in commit 0350f597a:
|
||||
using proto-max-bulk-len in checkStringLength for SETRANGE and APPEND
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
YoongHM in commit eea63548d:
|
||||
Start redis after network is online (#7639)
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
Yossi Gottlieb in commit aef6d74fb:
|
||||
Run daily workflow on main repo only (no forks). (#7646)
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
WuYunlong in commit 917b4d241:
|
||||
see #7250, fix signature of RedisModule_DeauthenticateAndCloseClient (#7645)
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Wang Yuan in commit efab7fd54:
|
||||
Print error info if failed opening config file (#6943)
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
Wen Hui in commit 8c4468bcf:
|
||||
fix memory leak in ACLLoadFromFile error handling (#7623)
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
Oran Agra in commit 89724e1d2:
|
||||
redis-cli --cluster-yes - negate force flag for clarity
|
||||
1 file changed, 9 insertions(+), 9 deletions(-)
|
||||
|
||||
Frank Meier in commit c813739af:
|
||||
reintroduce REDISCLI_CLUSTER_YES env variable in redis-cli
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
Frank Meier in commit 7e3b86c18:
|
||||
add force option to 'create-cluster create' script call (#7612)
|
||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
Oran Agra in commit 3f7fa4312:
|
||||
fix new rdb test failing on timing issues (#7604)
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
Yossi Gottlieb in commit 417976d7a:
|
||||
Fix test-centos7-tls daily job. (#7598)
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
Oran Agra in commit c41818c51:
|
||||
module hook for master link up missing on successful psync (#7584)
|
||||
2 files changed, 22 insertions(+), 2 deletions(-)
|
||||
|
||||
Yossi Gottlieb in commit 6ef3fc185:
|
||||
CI: Add daily CentOS 7.x jobs. (#7582)
|
||||
1 file changed, 50 insertions(+), 4 deletions(-)
|
||||
|
||||
WuYunlong in commit 002c37482:
|
||||
Fix running single test 14-consistency-check.tcl (#7587)
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
Yossi Gottlieb in commit 66cbbb6ad:
|
||||
Clarify RM_BlockClient() error condition. (#6093)
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
namtsui in commit 22aba2207:
|
||||
Avoid an out-of-bounds read in the redis-sentinel (#7443)
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
Wen Hui in commit af08887dc:
|
||||
Add SignalModifiedKey hook in XGROUP CREATE with MKSTREAM option (#7562)
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
Wen Hui in commit a5e0a64b0:
|
||||
fix leak in error handling of debug populate command (#7062)
|
||||
1 file changed, 3 insertions(+), 4 deletions(-)
|
||||
|
||||
Yossi Gottlieb in commit cbfdfa231:
|
||||
Fix TLS cluster tests. (#7578)
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
Yossi Gottlieb in commit 6d5376d30:
|
||||
TLS: Propagate and handle SSL_new() failures. (#7576)
|
||||
4 files changed, 48 insertions(+), 6 deletions(-)
|
||||
|
||||
Oran Agra in commit a662cd577:
|
||||
Fix failing tests due to issues with wait_for_log_message (#7572)
|
||||
3 files changed, 38 insertions(+), 34 deletions(-)
|
||||
|
||||
Jiayuan Chen in commit 2786a4b5e:
|
||||
Add optional tls verification (#7502)
|
||||
6 files changed, 40 insertions(+), 5 deletions(-)
|
||||
|
||||
Oran Agra in commit 3ef3d3612:
|
||||
Daily github action: run cluster and sentinel tests with tls (#7575)
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
Yossi Gottlieb in commit f20f63322:
|
||||
TLS: support cluster/replication without tls-port.
|
||||
2 files changed, 5 insertions(+), 4 deletions(-)
|
||||
|
||||
grishaf in commit 3c9ae059d:
|
||||
Fix prepareForShutdown function declaration (#7566)
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Oran Agra in commit 3f4803af9:
|
||||
Stabilize bgsave test that sometimes fails with valgrind (#7559)
|
||||
1 file changed, 20 insertions(+), 2 deletions(-)
|
||||
|
||||
Madelyn Olson in commit 1a3c51a1f:
|
||||
Properly reset errno for rdbLoad (#7542)
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
Oran Agra in commit 92d80b13a:
|
||||
testsuite may leave servers alive on error (#7549)
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
Yossi Gottlieb in commit 245582ba7:
|
||||
Tests: drop TCL 8.6 dependency. (#7548)
|
||||
1 file changed, 27 insertions(+), 22 deletions(-)
|
||||
|
||||
Oran Agra in commit f20e1ba2d:
|
||||
Fixes to release scripts (#7547)
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
Remi Collet in commit 60ff56993:
|
||||
Fix deprecated tail syntax in tests (#7543)
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Wen Hui in commit 34e8541b9:
|
||||
Add missing calls to raxStop (#7532)
|
||||
4 files changed, 63 insertions(+), 19 deletions(-)
|
||||
|
||||
Wen Hui in commit 2f7bc5435:
|
||||
add missing caching command in client help (#7399)
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
zhaozhao.zz in commit c15be9ffe:
|
||||
replication: need handle -NOPERM error after send ping (#7538)
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
Scott Brenner in commit 1b29152c3:
|
||||
GitHub Actions workflows - use latest version of actions/checkout (#7534)
|
||||
2 files changed, 10 insertions(+), 10 deletions(-)
|
||||
|
||||
================================================================================
|
||||
Redis 6.0.6 Released Mon Jul 20 09:31:30 IDT 2020
|
||||
================================================================================
|
||||
|
||||
Upgrade urgency MODERATE: several bugs with moderate impact are fixed here.
|
||||
|
||||
The most important issues are listed here:
|
||||
|
||||
* Fix crash when enabling CLIENT TRACKING with prefix
|
||||
* EXEC always fails with EXECABORT and multi-state is cleared
|
||||
* RESTORE ABSTTL won't store expired keys into the db
|
||||
* redis-cli better handling of non-pritable key names
|
||||
* TLS: Ignore client cert when tls-auth-clients off
|
||||
* Tracking: fix invalidation message on flush
|
||||
* Notify systemd on Sentinel startup
|
||||
* Fix crash on a misuse of STRALGO
|
||||
* Few fixes in module API
|
||||
* Fix a few rare leaks (STRALGO error misuse, Sentinel)
|
||||
* Fix a possible invalid access in defrag of scripts (unlikely to cause real harm)
|
||||
|
||||
New features:
|
||||
|
||||
* LPOS command to search in a list
|
||||
* Use user+pass for MIGRATE in redis-cli and redis-benchmark in cluster mode
|
||||
* redis-cli support TLS for --pipe, --rdb and --replica options
|
||||
* TLS: Session caching configuration support
|
||||
|
||||
And this is the full list of commits:
|
||||
|
||||
Itamar Haber in commit 50548cafc:
|
||||
Adds SHA256SUM to redis-stable tarball upload
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
yoav-steinberg in commit 3a4c6684f:
|
||||
Support passing stack allocated module strings to moduleCreateArgvFromUserFormat (#7528)
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
Luke Palmer in commit 2fd0b2bd6:
|
||||
Send null for invalidate on flush (#7469)
|
||||
1 file changed, 14 insertions(+), 10 deletions(-)
|
||||
|
||||
dmurnane in commit c3c81e1a8:
|
||||
Notify systemd on sentinel startup (#7168)
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
Developer-Ecosystem-Engineering in commit e2770f29b:
|
||||
Add registers dump support for Apple silicon (#7453)
|
||||
1 file changed, 54 insertions(+), 2 deletions(-)
|
||||
|
||||
Wen Hui in commit b068eae97:
|
||||
correct error msg for num connections reaching maxclients in cluster mode (#7444)
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
WuYunlong in commit e6169ae5c:
|
||||
Fix command help for unexpected options (#7476)
|
||||
6 files changed, 20 insertions(+), 3 deletions(-)
|
||||
|
||||
WuYunlong in commit abf08fc02:
|
||||
Refactor RM_KeyType() by using macro. (#7486)
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Oran Agra in commit 11b83076a:
|
||||
diskless master disconnect replicas when rdb child failed (#7518)
|
||||
1 file changed, 6 insertions(+), 5 deletions(-)
|
||||
|
||||
Oran Agra in commit 8f27f2f7d:
|
||||
redis-cli tests, fix valgrind timing issue (#7519)
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
WuYunlong in commit 180b588e8:
|
||||
Fix out of update help info in tcl tests. (#7516)
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
Qu Chen in commit 417c60bdc:
|
||||
Replica always reports master's config epoch in CLUSTER NODES output. (#7235)
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
Oran Agra in commit 72a242419:
|
||||
RESTORE ABSTTL skip expired keys - leak (#7511)
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
Oran Agra in commit 2ca45239f:
|
||||
fix recently added time sensitive tests failing with valgrind (#7512)
|
||||
2 files changed, 12 insertions(+), 6 deletions(-)
|
||||
|
||||
Oran Agra in commit 123dc8b21:
|
||||
runtest --stop pause stops before terminating the redis server (#7513)
|
||||
2 files changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
Oran Agra in commit a6added45:
|
||||
update release scripts for new hosts, and CI to run more tests (#7480)
|
||||
5 files changed, 68 insertions(+), 26 deletions(-)
|
||||
|
||||
jimgreen2013 in commit cf4869f9e:
|
||||
fix description about ziplist, the code is ok (#6318)
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
马永泽 in commit d548f219b:
|
||||
fix benchmark in cluster mode fails to authenticate (#7488)
|
||||
1 file changed, 56 insertions(+), 40 deletions(-)
|
||||
|
||||
Abhishek Soni in commit e58eb7b89:
|
||||
fix: typo in CI job name (#7466)
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Jiayuan Chen in commit 6def10a2b:
|
||||
Fix typo in deps README (#7500)
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
WuYunlong in commit 8af61afef:
|
||||
Add missing latency-monitor tcl test to test_helper.tcl. (#6782)
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
Yossi Gottlieb in commit a419f400e:
|
||||
TLS: Session caching configuration support. (#7420)
|
||||
6 files changed, 56 insertions(+), 16 deletions(-)
|
||||
|
||||
Yossi Gottlieb in commit 2e4bb2667:
|
||||
TLS: Ignore client cert when tls-auth-clients off. (#7457)
|
||||
1 file changed, 1 insertion(+), 3 deletions(-)
|
||||
|
||||
James Hilliard in commit f0b1aee9e:
|
||||
Use pkg-config to properly detect libssl and libcrypto libraries (#7452)
|
||||
1 file changed, 15 insertions(+), 3 deletions(-)
|
||||
|
||||
Yossi Gottlieb in commit e92b99564:
|
||||
TLS: Add missing redis-cli options. (#7456)
|
||||
3 files changed, 166 insertions(+), 52 deletions(-)
|
||||
|
||||
Oran Agra in commit 1f3db5bf5:
|
||||
redis-cli --hotkeys fixed to handle non-printable key names
|
||||
1 file changed, 11 insertions(+), 5 deletions(-)
|
||||
|
||||
Oran Agra in commit c3044f369:
|
||||
redis-cli --bigkeys fixed to handle non-printable key names
|
||||
1 file changed, 24 insertions(+), 16 deletions(-)
|
||||
|
||||
Oran Agra in commit b3f75527b:
|
||||
RESTORE ABSTTL won't store expired keys into the db (#7472)
|
||||
4 files changed, 46 insertions(+), 16 deletions(-)
|
||||
|
||||
huangzhw in commit 6f87fc92f:
|
||||
defrag.c activeDefragSdsListAndDict when defrag sdsele, We can't use (#7492)
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Oran Agra in commit d8e6a3e5b:
|
||||
skip a test that uses +inf on valgrind (#7440)
|
||||
1 file changed, 12 insertions(+), 9 deletions(-)
|
||||
|
||||
Oran Agra in commit 28fd1a110:
|
||||
stabilize tests that look for log lines (#7367)
|
||||
3 files changed, 33 insertions(+), 11 deletions(-)
|
||||
|
||||
Oran Agra in commit a513b4ed9:
|
||||
tests/valgrind: don't use debug restart (#7404)
|
||||
4 files changed, 114 insertions(+), 57 deletions(-)
|
||||
|
||||
Oran Agra in commit 70e72fc1b:
|
||||
change references to the github repo location (#7479)
|
||||
5 files changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
zhaozhao.zz in commit c63e533cc:
|
||||
BITOP: propagate only when it really SET or DEL targetkey (#5783)
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
antirez in commit 31040ff54:
|
||||
Update comment to clarify change in #7398.
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
antirez in commit b605fe827:
|
||||
LPOS: option FIRST renamed RANK.
|
||||
2 files changed, 19 insertions(+), 19 deletions(-)
|
||||
|
||||
Dave Nielsen in commit 8deb24954:
|
||||
updated copyright year
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Oran Agra in commit a61c2930c:
|
||||
EXEC always fails with EXECABORT and multi-state is cleared
|
||||
6 files changed, 204 insertions(+), 91 deletions(-)
|
||||
|
||||
antirez in commit 3c8041637:
|
||||
Include cluster.h for getClusterConnectionsCount().
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
antirez in commit 5be673ee8:
|
||||
Fix BITFIELD i64 type handling, see #7417.
|
||||
1 file changed, 8 insertions(+), 6 deletions(-)
|
||||
|
||||
antirez in commit 5f289df9b:
|
||||
Clarify maxclients and cluster in conf. Remove myself too.
|
||||
2 files changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
hwware in commit 000f928d6:
|
||||
fix memory leak in sentinel connection sharing
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
chenhui0212 in commit d9a3c0171:
|
||||
Fix comments in function raxLowWalk of listpack.c
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
Tomasz Poradowski in commit 7526e4506:
|
||||
ensure SHUTDOWN_NOSAVE in Sentinel mode
|
||||
2 files changed, 9 insertions(+), 8 deletions(-)
|
||||
|
||||
chenhui0212 in commit 6487cbc33:
|
||||
fix comments in listpack.c
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
antirez in commit 69b66bfca:
|
||||
Use cluster connections too, to limit maxclients.
|
||||
3 files changed, 23 insertions(+), 8 deletions(-)
|
||||
|
||||
antirez in commit 5a960a033:
|
||||
Tracking: fix enableBcastTrackingForPrefix() invalid sdslen() call.
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
root in commit 1c2e50de3:
|
||||
cluster.c remove if of clusterSendFail in markNodeAsFailingIfNeeded
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
meir@redislabs.com in commit 040efb697:
|
||||
Fix RM_ScanKey module api not to return int encoded strings
|
||||
3 files changed, 24 insertions(+), 7 deletions(-)
|
||||
|
||||
antirez in commit 1b8b7941d:
|
||||
Fix LCS object type checking. Related to #7379.
|
||||
1 file changed, 17 insertions(+), 10 deletions(-)
|
||||
|
||||
hwware in commit 6b571b45a:
|
||||
fix memory leak
|
||||
1 file changed, 11 insertions(+), 12 deletions(-)
|
||||
|
||||
hwware in commit 674759062:
|
||||
fix server crash in STRALGO command
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
Benjamin Sergeant in commit a05ffefdc:
|
||||
Update redis-cli.c
|
||||
1 file changed, 19 insertions(+), 6 deletions(-)
|
||||
|
||||
Jamie Scott in commit 870b63733:
|
||||
minor fix
|
||||
1 file changed, 2 insertions(+), 3 deletions(-)
|
||||
|
||||
================================================================================
|
||||
Redis 6.0.5 Released Tue Jun 09 11:56:08 CEST 2020
|
||||
================================================================================
|
||||
|
||||
Upgrade urgency MODERATE: several bugs with moderate impact are fixed here.
|
||||
|
||||
The most important issues are listed here:
|
||||
|
||||
* Fix handling of speical chars in ACL LOAD.
|
||||
* Make Redis Cluster more robust about operation errors that may lead
|
||||
to two clusters to mix together.
|
||||
* Revert the sendfile() implementation of RDB transfer. It causes some delay.
|
||||
* Fix TLS certificate loading for chained certificates.
|
||||
* Fix AOF rewirting of KEEPTTL SET option.
|
||||
* Fix MULTI/EXEC behavior during -BUSY script errors.
|
||||
|
||||
And this is the full list of commits:
|
||||
|
||||
antirez in commit ee8dd01bb:
|
||||
Temporary fix for #7353 issue about EVAL during -BUSY.
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
xhe in commit a4a856d53:
|
||||
return the correct proto version HELLO should return the current proto version, while the code hardcoded 3
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Oran Agra in commit e2046b300:
|
||||
Don't queue commands in an already aborted MULTI state
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
Oran Agra in commit b35fdf1de:
|
||||
Avoid rejecting WATCH / UNWATCH, like MULTI/EXEC/DISCARD
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
zhaozhao.zz in commit 1d7bf208c:
|
||||
AOF: append origin SET if no expire option
|
||||
2 files changed, 23 insertions(+), 8 deletions(-)
|
||||
|
||||
Oran Agra in commit 676445ad9:
|
||||
fix disconnectSlaves, to try to free each slave.
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
zhaozhao.zz in commit 4846c0c8a:
|
||||
donot free protected client in freeClientsInAsyncFreeQueue
|
||||
1 file changed, 9 insertions(+), 3 deletions(-)
|
||||
|
||||
Oran Agra in commit f33de403e:
|
||||
fix pingoff test race
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
Kevin Fwu in commit 49af4d07e:
|
||||
Fix TLS certificate loading for chained certificates.
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
antirez in commit 329fddbda:
|
||||
Revert "Implements sendfile for redis."
|
||||
2 files changed, 2 insertions(+), 55 deletions(-)
|
||||
|
||||
antirez in commit 925a2cd5a:
|
||||
Revert "avoid using sendfile if tls-replication is enabled"
|
||||
1 file changed, 27 insertions(+), 34 deletions(-)
|
||||
|
||||
Liu Zhen in commit 84a7a9058:
|
||||
fix clusters mixing accidentally by gossip
|
||||
1 file changed, 10 insertions(+), 2 deletions(-)
|
||||
|
||||
antirez in commit cd63359a1:
|
||||
Fix handling of special chars in ACL LOAD.
|
||||
1 file changed, 8 insertions(+), 4 deletions(-)
|
||||
|
||||
================================================================================
|
||||
Redis 6.0.4 Released Thu May 28 11:36:45 CEST 2020
|
||||
================================================================================
|
||||
|
||||
@@ -1 +1 @@
|
||||
Please check https://github.com/antirez/redis/issues
|
||||
Please check https://github.com/redis/redis/issues
|
||||
@@ -1,5 +1,5 @@
|
||||
Copyright (c) 2006-2015, Salvatore Sanfilippo
|
||||
Copyright (C) 2019, John Sully
|
||||
Copyright (c) 2006-2020, Salvatore Sanfilippo
|
||||
Copyright (C) 2019-2020, John Sully
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
||||
|
||||
-10
@@ -1,10 +0,0 @@
|
||||
FROM ubuntu:18.04
|
||||
|
||||
|
||||
|
||||
RUN apt-get update \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qqy \
|
||||
build-essential nasm autotools-dev autoconf libcurl4-openssl-dev libjemalloc-dev tcl tcl-dev uuid-dev libcurl4-openssl-dev \
|
||||
&& apt-get clean
|
||||
|
||||
CMD make
|
||||
@@ -1,6 +1,5 @@
|
||||

|
||||

|
||||
[](https://gitter.im/KeyDB/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||
[](https://stackshare.io/eq-alpha-technology-inc/eq-alpha-technology-inc)
|
||||
|
||||
##### New! Want to extend KeyDB with Javascript? Try [ModJS](https://github.com/JohnSully/ModJS)
|
||||
@@ -96,9 +95,11 @@ libssl-dev on Debian/Ubuntu) and run:
|
||||
|
||||
% make BUILD_TLS=yes
|
||||
|
||||
You can enable flash support with:
|
||||
To build with systemd support, you'll need systemd development libraries (such
|
||||
as libsystemd-dev on Debian/Ubuntu or systemd-devel on CentOS) and run:
|
||||
|
||||
% make USE_SYSTEMD=yes
|
||||
|
||||
% make MALLOC=memkind
|
||||
|
||||
***Note that the following dependencies may be needed:
|
||||
% sudo apt-get install autoconf autotools-dev libnuma-dev libtool
|
||||
|
||||
@@ -56,8 +56,6 @@ Note that unlike Redis, KeyDB fully supports multithreading of TLS connections.
|
||||
To-Do List
|
||||
----------
|
||||
|
||||
- [ ] Add session caching support. Check if/how it's handled by clients to
|
||||
assess how useful/important it is.
|
||||
- [ ] redis-benchmark support. The current implementation is a mix of using
|
||||
hiredis for parsing and basic networking (establishing connections), but
|
||||
directly manipulating sockets for most actions. This will need to be cleaned
|
||||
|
||||
Vendored
+1
-1
@@ -47,7 +47,7 @@ Hiredis
|
||||
Hiredis uses the SDS string library, that must be the same version used inside Redis itself. Hiredis is also very critical for Sentinel. Historically Redis often used forked versions of hiredis in a way or the other. In order to upgrade it is advised to take a lot of care:
|
||||
|
||||
1. Check with diff if hiredis API changed and what impact it could have in Redis.
|
||||
2. Make sure thet the SDS library inside Hiredis and inside Redis are compatible.
|
||||
2. Make sure that the SDS library inside Hiredis and inside Redis are compatible.
|
||||
3. After the upgrade, run the Redis Sentinel test.
|
||||
4. Check manually that redis-cli and redis-benchmark behave as expecteed, since we have no tests for CLI utilities currently.
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -274,7 +274,7 @@ int luaD_precall (lua_State *L, StkId func, int nresults) {
|
||||
CallInfo *ci;
|
||||
StkId st, base;
|
||||
Proto *p = cl->p;
|
||||
luaD_checkstack(L, p->maxstacksize);
|
||||
luaD_checkstack(L, p->maxstacksize + p->numparams);
|
||||
func = restorestack(L, funcr);
|
||||
if (!p->is_vararg) { /* no varargs? */
|
||||
base = func + 1;
|
||||
|
||||
+77
-5
@@ -159,9 +159,12 @@ tcp-keepalive 300
|
||||
# By default, clients (including replica servers) on a TLS port are required
|
||||
# to authenticate using valid client side certificates.
|
||||
#
|
||||
# It is possible to disable authentication using this directive.
|
||||
# If "no" is specified, client certificates are not required and not accepted.
|
||||
# If "optional" is specified, client certificates are accepted and must be
|
||||
# valid if provided, but are not required.
|
||||
#
|
||||
# tls-auth-clients no
|
||||
# tls-auth-clients optional
|
||||
|
||||
# By default, a Redis replica does not attempt to establish a TLS connection
|
||||
# with its master.
|
||||
@@ -199,6 +202,22 @@ tcp-keepalive 300
|
||||
#
|
||||
# tls-prefer-server-ciphers yes
|
||||
|
||||
# By default, TLS session caching is enabled to allow faster and less expensive
|
||||
# reconnections by clients that support it. Use the following directive to disable
|
||||
# caching.
|
||||
#
|
||||
# tls-session-caching no
|
||||
|
||||
# Change the default number of TLS sessions cached. A zero value sets the cache
|
||||
# to unlimited size. The default size is 20480.
|
||||
#
|
||||
# tls-session-cache-size 5000
|
||||
|
||||
# Change the default timeout of cached TLS sessions. The default timeout is 300
|
||||
# seconds.
|
||||
#
|
||||
# tls-session-cache-timeout 60
|
||||
|
||||
################################# GENERAL #####################################
|
||||
|
||||
# By default KeyDB does not run as a daemon. Use 'yes' if you need it.
|
||||
@@ -401,6 +420,20 @@ dir ./
|
||||
#
|
||||
replica-serve-stale-data yes
|
||||
|
||||
# Active Replicas will allow read only data access while loading remote RDBs
|
||||
# provided they are permitted to serve stale data. As an option you may also
|
||||
# permit them to accept write commands. This is an EXPERIMENTAL feature and
|
||||
# may result in commands not being fully synchronized
|
||||
#
|
||||
# allow-write-during-load no
|
||||
|
||||
# You can modify the number of masters necessary to form a replica quorum when
|
||||
# multi-master is enabled and replica-serve-stale-data is "no". By default
|
||||
# this is set to -1 which implies the number of known masters (e.g. those
|
||||
# you added with replicaof)
|
||||
#
|
||||
# replica-quorum -1
|
||||
|
||||
# You can configure a replica instance to accept writes or not. Writing against
|
||||
# a replica instance may be useful to store some ephemeral data (because data
|
||||
# written on a replica will be easily deleted after resync with the master) but
|
||||
@@ -745,9 +778,8 @@ replica-priority 100
|
||||
#
|
||||
# The ACL Log tracks failed commands and authentication events associated
|
||||
# with ACLs. The ACL Log is useful to troubleshoot failed commands blocked
|
||||
# by ACLs. The ACL Log is stored in and consumes memory. There is no limit
|
||||
# to its length.You can reclaim memory with ACL LOG RESET or set a maximum
|
||||
# length below.
|
||||
# by ACLs. The ACL Log is stored in memory. You can reclaim memory with
|
||||
# ACL LOG RESET. Define the maximum entry length of the ACL Log below.
|
||||
acllog-max-len 128
|
||||
|
||||
# Using an external ACL file
|
||||
@@ -806,6 +838,11 @@ acllog-max-len 128
|
||||
# Once the limit is reached KeyDB will close all the new connections sending
|
||||
# an error 'max number of clients reached'.
|
||||
#
|
||||
# IMPORTANT: When Redis Cluster is used, the max number of connections is also
|
||||
# shared with the cluster bus: every node in the cluster will use two
|
||||
# connections, one incoming and another outgoing. It is important to size the
|
||||
# limit accordingly in case of very large clusters.
|
||||
#
|
||||
# maxclients 10000
|
||||
|
||||
############################## MEMORY MANAGEMENT ################################
|
||||
@@ -1016,6 +1053,32 @@ lazyfree-lazy-user-del no
|
||||
# --threads option to match the number of Redis theads, otherwise you'll not
|
||||
# be able to notice the improvements.
|
||||
|
||||
############################ KERNEL OOM CONTROL ##############################
|
||||
|
||||
# On Linux, it is possible to hint the kernel OOM killer on what processes
|
||||
# should be killed first when out of memory.
|
||||
#
|
||||
# Enabling this feature makes Redis actively control the oom_score_adj value
|
||||
# for all its processes, depending on their role. The default scores will
|
||||
# attempt to have background child processes killed before all others, and
|
||||
# replicas killed before masters.
|
||||
|
||||
oom-score-adj no
|
||||
|
||||
# When oom-score-adj is used, this directive controls the specific values used
|
||||
# for master, replica and background child processes. Values range -1000 to
|
||||
# 1000 (higher means more likely to be killed).
|
||||
#
|
||||
# Unprivileged processes (not root, and without CAP_SYS_RESOURCE capabilities)
|
||||
# can freely increase their value, but not decrease it below its initial
|
||||
# settings.
|
||||
#
|
||||
# Values are used relative to the initial value of oom_score_adj when the server
|
||||
# starts. Because typically the initial value is 0, they will often match the
|
||||
# absolute values.
|
||||
|
||||
oom-score-adj-values 0 200 800
|
||||
|
||||
############################## APPEND ONLY MODE ###############################
|
||||
|
||||
# By default KeyDB asynchronously dumps the dataset on disk. This mode is
|
||||
@@ -1618,7 +1681,7 @@ client-output-buffer-limit pubsub 32mb 8mb 60
|
||||
|
||||
# In the KeyDB protocol, bulk requests, that are, elements representing single
|
||||
# strings, are normally limited ot 512 mb. However you can change this limit
|
||||
# here.
|
||||
# here, but must be 1mb or greater
|
||||
#
|
||||
# proto-max-bulk-len 512mb
|
||||
|
||||
@@ -1811,6 +1874,15 @@ jemalloc-bg-thread yes
|
||||
# Set bgsave child process to cpu affinity 1,10,11
|
||||
# bgsave_cpulist 1,10-11
|
||||
|
||||
# The minimum number of clients on a thread before KeyDB assigns new connections to a different thread
|
||||
# Tuning this parameter is a tradeoff between locking overhead and distributing the workload over multiple cores
|
||||
# min-clients-per-thread 50
|
||||
|
||||
# Avoid forwarding RREPLAY messages to other masters?
|
||||
# WARNING: This setting is dangerous! You must be certain all masters are connected to each
|
||||
# other in a true mesh topology or data loss will occur!
|
||||
# This command can be used to reduce multimaster bus traffic
|
||||
# multi-master-no-forward no
|
||||
|
||||
# Path to directory for file backed scratchpad. The file backed scratchpad
|
||||
# reduces memory requirements by storing rarely accessed data on disk
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
### KeyDB Packaging
|
||||
|
||||
The following directories contain packaging code used to create rpm and deb packages as well as docker images.
|
||||
@@ -0,0 +1,21 @@
|
||||
### KeyDB DEB Package Source Builds
|
||||
|
||||
This directory contains scripts and components needed to generate debian packages on different distributions/architectures from source
|
||||
|
||||
The 'debian' directory contains debian source code for bionic, buster and later distributions as it uses functions only available with debhelper11+. 'debian_dh9' is used for xenial, stretch and earlier distributions using debhelper9.
|
||||
|
||||
You will need to install pbuilder `sudo apt install pbuilder` along with other distribution specific dependancies
|
||||
|
||||
Generate deb packages with the following script command run from this directory:
|
||||
|
||||
```
|
||||
$ ./deb-buildsource.sh
|
||||
```
|
||||
|
||||
This generates a directory structure, .dsc file, original.tar.gz, and new changelog for the distribution and architecture installed.
|
||||
|
||||
When complete the produced debian packages will be located in deb_files_generated directory.
|
||||
|
||||
Arguments for the deb-buildsource.sh script that can be passed are either 'None' or '"your custom comments"'. 'None' assumes a permanent changelog entry has been made listing the correct build for the version. If you quote and enter your own comment string, it will be appended to the changelog for that deb package. If no argument is passed a default comment is generated saying that this deb package was generated by this script.
|
||||
|
||||
This script has been tested on xenial/bionic/stretch/buster
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,244 @@
|
||||
# Example sentinel.conf
|
||||
|
||||
# *** IMPORTANT ***
|
||||
#
|
||||
# By default Sentinel will not be reachable from interfaces different than
|
||||
# localhost, either use the 'bind' directive to bind to a list of network
|
||||
# interfaces, or disable protected mode with "protected-mode no" by
|
||||
# adding it to this configuration file.
|
||||
#
|
||||
# Before doing that MAKE SURE the instance is protected from the outside
|
||||
# world via firewalling or other means.
|
||||
#
|
||||
# For example you may use one of the following:
|
||||
#
|
||||
# bind 127.0.0.1 192.168.1.1
|
||||
#
|
||||
# protected-mode no
|
||||
|
||||
# port <sentinel-port>
|
||||
# The port that this sentinel instance will run on
|
||||
port 26379
|
||||
|
||||
# By default Redis Sentinel does not run as a daemon. Use 'yes' if you need it.
|
||||
# Note that Redis will write a pid file in /var/run/keydb-sentinel.pid when
|
||||
# daemonized.
|
||||
daemonize yes
|
||||
|
||||
# When running daemonized, Redis Sentinel writes a pid file in
|
||||
# /var/run/keydb-sentinel.pid by default. You can specify a custom pid file
|
||||
# location here.
|
||||
pidfile /var/run/sentinel/keydb-sentinel.pid
|
||||
|
||||
# Specify the log file name. Also the empty string can be used to force
|
||||
# Sentinel 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 /var/log/keydb/keydb-sentinel.log
|
||||
|
||||
# sentinel announce-ip <ip>
|
||||
# sentinel announce-port <port>
|
||||
#
|
||||
# The above two configuration directives are useful in environments where,
|
||||
# because of NAT, Sentinel is reachable from outside via a non-local address.
|
||||
#
|
||||
# When announce-ip is provided, the Sentinel will claim the specified IP address
|
||||
# in HELLO messages used to gossip its presence, instead of auto-detecting the
|
||||
# local address as it usually does.
|
||||
#
|
||||
# Similarly when announce-port is provided and is valid and non-zero, Sentinel
|
||||
# will announce the specified TCP port.
|
||||
#
|
||||
# The two options don't need to be used together, if only announce-ip is
|
||||
# provided, the Sentinel will announce the specified IP and the server port
|
||||
# as specified by the "port" option. If only announce-port is provided, the
|
||||
# Sentinel will announce the auto-detected local IP and the specified port.
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
# sentinel announce-ip 1.2.3.4
|
||||
|
||||
# dir <working-directory>
|
||||
# Every long running process should have a well-defined working directory.
|
||||
# For Redis Sentinel to chdir to /tmp at startup is the simplest thing
|
||||
# for the process to don't interfere with administrative tasks such as
|
||||
# unmounting filesystems.
|
||||
dir /var/lib/keydb
|
||||
|
||||
# sentinel monitor <master-name> <ip> <keydb-port> <quorum>
|
||||
#
|
||||
# Tells Sentinel to monitor this master, and to consider it in O_DOWN
|
||||
# (Objectively Down) state only if at least <quorum> sentinels agree.
|
||||
#
|
||||
# Note that whatever is the ODOWN quorum, a Sentinel will require to
|
||||
# be elected by the majority of the known Sentinels in order to
|
||||
# start a failover, so no failover can be performed in minority.
|
||||
#
|
||||
# Replicas are auto-discovered, so you don't need to specify replicas in
|
||||
# any way. Sentinel itself will rewrite this configuration file adding
|
||||
# the replicas using additional configuration options.
|
||||
# Also note that the configuration file is rewritten when a
|
||||
# replica is promoted to master.
|
||||
#
|
||||
# Note: master name should not include special characters or spaces.
|
||||
# The valid charset is A-z 0-9 and the three characters ".-_".
|
||||
sentinel monitor mymaster 127.0.0.1 6379 2
|
||||
|
||||
# sentinel auth-pass <master-name> <password>
|
||||
#
|
||||
# Set the password to use to authenticate with the master and replicas.
|
||||
# Useful if there is a password set in the Redis instances to monitor.
|
||||
#
|
||||
# Note that the master password is also used for replicas, so it is not
|
||||
# possible to set a different password in masters and replicas instances
|
||||
# if you want to be able to monitor these instances with Sentinel.
|
||||
#
|
||||
# However you can have Redis instances without the authentication enabled
|
||||
# mixed with Redis instances requiring the authentication (as long as the
|
||||
# password set is the same for all the instances requiring the password) as
|
||||
# the AUTH command will have no effect in Redis instances with authentication
|
||||
# switched off.
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
# sentinel auth-pass mymaster MySUPER--secret-0123passw0rd
|
||||
|
||||
# sentinel down-after-milliseconds <master-name> <milliseconds>
|
||||
#
|
||||
# Number of milliseconds the master (or any attached replica or sentinel) should
|
||||
# be unreachable (as in, not acceptable reply to PING, continuously, for the
|
||||
# specified period) in order to consider it in S_DOWN state (Subjectively
|
||||
# Down).
|
||||
#
|
||||
# Default is 30 seconds.
|
||||
sentinel down-after-milliseconds mymaster 30000
|
||||
|
||||
# sentinel parallel-syncs <master-name> <numreplicas>
|
||||
#
|
||||
# How many replicas we can reconfigure to point to the new replica simultaneously
|
||||
# during the failover. Use a low number if you use the replicas to serve query
|
||||
# to avoid that all the replicas will be unreachable at about the same
|
||||
# time while performing the synchronization with the master.
|
||||
sentinel parallel-syncs mymaster 1
|
||||
|
||||
# sentinel failover-timeout <master-name> <milliseconds>
|
||||
#
|
||||
# Specifies the failover timeout in milliseconds. It is used in many ways:
|
||||
#
|
||||
# - The time needed to re-start a failover after a previous failover was
|
||||
# already tried against the same master by a given Sentinel, is two
|
||||
# times the failover timeout.
|
||||
#
|
||||
# - The time needed for a replica replicating to a wrong master according
|
||||
# to a Sentinel current configuration, to be forced to replicate
|
||||
# with the right master, is exactly the failover timeout (counting since
|
||||
# the moment a Sentinel detected the misconfiguration).
|
||||
#
|
||||
# - The time needed to cancel a failover that is already in progress but
|
||||
# did not produced any configuration change (SLAVEOF NO ONE yet not
|
||||
# acknowledged by the promoted replica).
|
||||
#
|
||||
# - The maximum time a failover in progress waits for all the replicas to be
|
||||
# reconfigured as replicas of the new master. However even after this time
|
||||
# the replicas will be reconfigured by the Sentinels anyway, but not with
|
||||
# the exact parallel-syncs progression as specified.
|
||||
#
|
||||
# Default is 3 minutes.
|
||||
sentinel failover-timeout mymaster 180000
|
||||
|
||||
# SCRIPTS EXECUTION
|
||||
#
|
||||
# sentinel notification-script and sentinel reconfig-script are used in order
|
||||
# to configure scripts that are called to notify the system administrator
|
||||
# or to reconfigure clients after a failover. The scripts are executed
|
||||
# with the following rules for error handling:
|
||||
#
|
||||
# If script exits with "1" the execution is retried later (up to a maximum
|
||||
# number of times currently set to 10).
|
||||
#
|
||||
# If script exits with "2" (or an higher value) the script execution is
|
||||
# not retried.
|
||||
#
|
||||
# If script terminates because it receives a signal the behavior is the same
|
||||
# as exit code 1.
|
||||
#
|
||||
# A script has a maximum running time of 60 seconds. After this limit is
|
||||
# reached the script is terminated with a SIGKILL and the execution retried.
|
||||
|
||||
# NOTIFICATION SCRIPT
|
||||
#
|
||||
# sentinel notification-script <master-name> <script-path>
|
||||
#
|
||||
# Call the specified notification script for any sentinel event that is
|
||||
# generated in the WARNING level (for instance -sdown, -odown, and so forth).
|
||||
# This script should notify the system administrator via email, SMS, or any
|
||||
# other messaging system, that there is something wrong with the monitored
|
||||
# Redis systems.
|
||||
#
|
||||
# The script is called with just two arguments: the first is the event type
|
||||
# and the second the event description.
|
||||
#
|
||||
# The script must exist and be executable in order for sentinel to start if
|
||||
# this option is provided.
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
# sentinel notification-script mymaster /var/redis/notify.sh
|
||||
|
||||
# CLIENTS RECONFIGURATION SCRIPT
|
||||
#
|
||||
# sentinel client-reconfig-script <master-name> <script-path>
|
||||
#
|
||||
# When the master changed because of a failover a script can be called in
|
||||
# order to perform application-specific tasks to notify the clients that the
|
||||
# configuration has changed and the master is at a different address.
|
||||
#
|
||||
# The following arguments are passed to the script:
|
||||
#
|
||||
# <master-name> <role> <state> <from-ip> <from-port> <to-ip> <to-port>
|
||||
#
|
||||
# <state> is currently always "failover"
|
||||
# <role> is either "leader" or "observer"
|
||||
#
|
||||
# The arguments from-ip, from-port, to-ip, to-port are used to communicate
|
||||
# the old address of the master and the new address of the elected replica
|
||||
# (now a master).
|
||||
#
|
||||
# This script should be resistant to multiple invocations.
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
# sentinel client-reconfig-script mymaster /var/redis/reconfig.sh
|
||||
|
||||
# SECURITY
|
||||
#
|
||||
# By default SENTINEL SET will not be able to change the notification-script
|
||||
# and client-reconfig-script at runtime. This avoids a trivial security issue
|
||||
# where clients can set the script to anything and trigger a failover in order
|
||||
# to get the program executed.
|
||||
|
||||
sentinel deny-scripts-reconfig yes
|
||||
|
||||
# REDIS COMMANDS RENAMING
|
||||
#
|
||||
# Sometimes the Redis server has certain commands, that are needed for Sentinel
|
||||
# to work correctly, renamed to unguessable strings. This is often the case
|
||||
# of CONFIG and SLAVEOF in the context of providers that provide Redis as
|
||||
# a service, and don't want the customers to reconfigure the instances outside
|
||||
# of the administration console.
|
||||
#
|
||||
# In such case it is possible to tell Sentinel to use different command names
|
||||
# instead of the normal ones. For example if the master "mymaster", and the
|
||||
# associated replicas, have "CONFIG" all renamed to "GUESSME", I could use:
|
||||
#
|
||||
# SENTINEL rename-command mymaster CONFIG GUESSME
|
||||
#
|
||||
# After such configuration is set, every time Sentinel would use CONFIG it will
|
||||
# use GUESSME instead. Note that there is no actual need to respect the command
|
||||
# case, so writing "config guessme" is the same in the example above.
|
||||
#
|
||||
# SENTINEL SET can also be used in order to perform this configuration at runtime.
|
||||
#
|
||||
# In order to set a command back to its original name (undo the renaming), it
|
||||
# is possible to just rename a command to itsef:
|
||||
#
|
||||
# SENTINEL rename-command mymaster CONFIG CONFIG
|
||||
Executable
+63
@@ -0,0 +1,63 @@
|
||||
#! /bin/bash
|
||||
|
||||
# define parameters used in this deb package build
|
||||
# enter comments as an argument string quoted. If you do not want comments to be added (ie. you have updated in git repo) type None
|
||||
if [ $# -eq 0 ]; then
|
||||
changelog_comments="This is a new source build generated from the deb_build_source.sh script"
|
||||
else
|
||||
changelog_comments=$1
|
||||
fi
|
||||
echo $changelog_comments
|
||||
build=1 #change if updated build number required. Default is 1 as convention for keydb is to update minor version
|
||||
version=$(grep KEYDB_REAL_VERSION ../../src/version.h | awk '{ printf $3 }' | tr -d \")
|
||||
majorv="${version:0:1}"
|
||||
distributor=$(lsb_release --id --short)
|
||||
if [ "$distributor" == "Debian" ]; then
|
||||
distname=+deb$(lsb_release --release --short | cut -d. -f1)u1
|
||||
elif [ "$distributor" == "Ubuntu" ]; then
|
||||
distname=~$(lsb_release --codename --short)1
|
||||
fi
|
||||
codename=$(lsb_release --codename --short)
|
||||
date=$(date +%a," "%d" "%b" "%Y" "%T)
|
||||
pkg_name=keydb-$majorv:$version$distname
|
||||
|
||||
# create build tree
|
||||
cd ../../../
|
||||
tar -czvf keydb_$version.orig.tar.gz --force-local KeyDB
|
||||
cd KeyDB/pkg/deb/
|
||||
mkdir -p $pkg_name/tmp
|
||||
if [[ "$codename" == "xenial" ]] || [[ "$codename" == "stretch" ]]; then
|
||||
cp -r debian_dh9 $pkg_name/tmp/debian
|
||||
else
|
||||
cp -r debian $pkg_name/tmp
|
||||
fi
|
||||
cp master_changelog $pkg_name/tmp/debian/changelog
|
||||
mv ../../../keydb_$version.orig.tar.gz ./$pkg_name
|
||||
cd $pkg_name/tmp
|
||||
changelog_str="keydb ($majorv:$version-$build$distname) $codename; urgency=medium\n\n * $version $changelog_comments \n\n -- Ben Schermel <ben@eqalpha.com> $date +0000\n\n"
|
||||
if [ $# -eq 0 ]; then
|
||||
sed -i "1s/^/$changelog_str\n/" debian/changelog
|
||||
elif [ $# -eq 1 ] && [ "$1" != "None" ]; then
|
||||
sed -i "1s/^/$changelog_str\n/" debian/changelog
|
||||
fi
|
||||
sed -i "s/distribution_placeholder/$distname/g" debian/changelog
|
||||
sed -i "s/codename_placeholder/$codename/g" debian/changelog
|
||||
|
||||
# generate required files and structure for pbuilder including .dsc file
|
||||
debuild -S -sa
|
||||
cd ../
|
||||
|
||||
# create pbuilder chrooted environment and build the deb package
|
||||
if [ "$codename" == "xenial" ]; then
|
||||
sudo pbuilder create --distribution $codename --othermirror "deb http://archive.ubuntu.com/ubuntu $codename universe multiverse"
|
||||
else
|
||||
sudo pbuilder create --distribution $codename
|
||||
fi
|
||||
sudo pbuilder --update
|
||||
sudo pbuilder --build *.dsc
|
||||
|
||||
# move new packages to deb_files_generated and clean up
|
||||
cp /var/cache/pbuilder/result/*$version*.deb ../deb_files_generated
|
||||
sudo pbuilder clean
|
||||
cd ../
|
||||
rm -rf $pkg_name
|
||||
Whitespace-only changes.
@@ -0,0 +1,30 @@
|
||||
# -*- sh -*-
|
||||
#
|
||||
# Bash completion function for the 'keydb-cli' command.
|
||||
#
|
||||
# Steve
|
||||
# --
|
||||
# http://www.steve.org.uk
|
||||
#
|
||||
|
||||
_keydb-cli()
|
||||
{
|
||||
COMPREPLY=()
|
||||
cur=${COMP_WORDS[COMP_CWORD]}
|
||||
prev=${COMP_WORDS[COMP_CWORD-1]}
|
||||
|
||||
#
|
||||
# All known commands accepted. Sorted.
|
||||
#
|
||||
opts='bgrewriteaof bgsave dbsize debug decr decrby del echo exists expire expireat flushall flushdb get getset incr incrby info keys lastsave lindex llen lpop lpush lrange lrem lset ltrim mget move mset msetnx ping randomkey rename renamenx rewriteaof rpop rpoplpush rpush sadd save scard sdiff sdiffstore select set setnx shutdown sinter sinterstore sismember slaveof smembers smove sort spop srandmember srem sunion sunionstore ttl type zadd zcard zincrby zrange zrangebyscore zrem zremrangebyscore zrevrange zscore'
|
||||
|
||||
#
|
||||
# Only complete on the first term.
|
||||
#
|
||||
if [ $COMP_CWORD -eq 1 ]; then
|
||||
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
|
||||
return 0
|
||||
fi
|
||||
|
||||
}
|
||||
complete -F _keydb-cli keydb-cli
|
||||
+129
@@ -0,0 +1,129 @@
|
||||
#!/bin/sh
|
||||
|
||||
SYSTEMD_VER=$(systemctl --version | head -1 | cut -d' ' -f2)
|
||||
|
||||
if [ ${SYSTEMD_VER} -lt 237 ]
|
||||
then
|
||||
SYSTEMD_EXTRA=""
|
||||
else
|
||||
SYSTEMD_EXTRA=$(cat <<EOF
|
||||
|
||||
RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX
|
||||
#MemoryDenyWriteExecute=true
|
||||
ProtectKernelModules=true
|
||||
ProtectKernelTunables=true
|
||||
ProtectControlGroups=true
|
||||
RestrictRealtime=true
|
||||
RestrictNamespaces=true
|
||||
EOF
|
||||
)
|
||||
fi
|
||||
|
||||
for BINARY in keydb-server keydb-sentinel
|
||||
do
|
||||
for MODE in default templated
|
||||
do
|
||||
case "${BINARY}" in
|
||||
keydb-server)
|
||||
NAME="keydb"
|
||||
;;
|
||||
keydb-sentinel)
|
||||
NAME="sentinel"
|
||||
;;
|
||||
esac
|
||||
|
||||
case "${MODE}" in
|
||||
default)
|
||||
EXTRA="Alias=${NAME}.service"
|
||||
TARGET="debian/${BINARY}.service"
|
||||
NAMESPACED="${NAME}"
|
||||
DESCRIPTION="Advanced key-value store"
|
||||
;;
|
||||
templated)
|
||||
EXTRA=""
|
||||
TARGET="debian/${BINARY}@.service"
|
||||
NAMESPACED="${NAME}-%i"
|
||||
DESCRIPTION="Advanced key-value store (%I)"
|
||||
;;
|
||||
esac
|
||||
|
||||
: >${TARGET}
|
||||
|
||||
if [ "${MODE}" = "templated" ]
|
||||
then
|
||||
cat >> ${TARGET} <<EOF
|
||||
# Templated service file for ${BINARY}(1)
|
||||
#
|
||||
# Each instance of ${BINARY} requires its own configuration file:
|
||||
#
|
||||
# $ cp /etc/keydb/${NAME}.conf /etc/keydb/${NAME}-myname.conf
|
||||
# $ chown keydb:keydb /etc/keydb/${NAME}-myname.conf
|
||||
#
|
||||
# Ensure each instance is using their own database:
|
||||
#
|
||||
# $ sed -i -e 's@^dbfilename .*@dbfilename dump-myname.rdb@' /etc/keydb/${NAME}-myname.conf
|
||||
#
|
||||
# We then listen exlusively on UNIX sockets to avoid TCP port collisions:
|
||||
#
|
||||
# $ sed -i -e 's@^port .*@port 0@' /etc/keydb/${NAME}-myname.conf
|
||||
# $ sed -i -e 's@^\\(# \\)\\{0,1\\}unixsocket .*@unixsocket /var/run/${NAME}-myname/${BINARY}.sock@' /etc/keydb/${NAME}-myname.conf
|
||||
#
|
||||
# ... and ensure we are logging, etc. in a unique location:
|
||||
#
|
||||
# $ sed -i -e 's@^logfile .*@logfile /var/log/keydb/${BINARY}-myname.log@' /etc/keydb/${NAME}-myname.conf
|
||||
# $ sed -i -e 's@^pidfile .*@pidfile /var/run/keydb-myname/${BINARY}.pid@' /etc/keydb/${NAME}-myname.conf
|
||||
#
|
||||
# We can then start the service as follows, validating we are using our own
|
||||
# configuration:
|
||||
#
|
||||
# $ systemctl start ${BINARY}@myname.service
|
||||
# $ keydb-cli -s /var/run/${NAME}-myname/${BINARY}.sock info | grep config_file
|
||||
EOF
|
||||
fi
|
||||
|
||||
cat >> ${TARGET} <<EOF
|
||||
[Unit]
|
||||
Description=${DESCRIPTION}
|
||||
After=network.target
|
||||
Documentation=https://docs.keydb.dev, man:${BINARY}(1)
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
ExecStart=/usr/bin/${BINARY} /etc/keydb/${NAMESPACED}.conf
|
||||
ExecStop=/bin/kill -s TERM \$MAINPID
|
||||
PIDFile=/var/run/${NAMESPACED}/${BINARY}.pid
|
||||
TimeoutStopSec=0
|
||||
Restart=always
|
||||
User=keydb
|
||||
Group=keydb
|
||||
RuntimeDirectory=${NAMESPACED}
|
||||
RuntimeDirectoryMode=2755
|
||||
|
||||
UMask=007
|
||||
PrivateTmp=yes
|
||||
LimitNOFILE=65535
|
||||
PrivateDevices=yes
|
||||
ProtectHome=yes
|
||||
ReadOnlyDirectories=/
|
||||
ReadWriteDirectories=-/var/lib/keydb
|
||||
ReadWriteDirectories=-/var/log/keydb
|
||||
ReadWriteDirectories=-/var/run/${NAMESPACED}
|
||||
|
||||
NoNewPrivileges=true
|
||||
CapabilityBoundingSet=CAP_SETGID CAP_SETUID CAP_SYS_RESOURCE${SYSTEMD_EXTRA}
|
||||
|
||||
# ${BINARY} can write to its own config file when in cluster mode so we
|
||||
# permit writing there by default. If you are not using this feature, it is
|
||||
# recommended that you replace the following lines with "ProtectSystem=full".
|
||||
ProtectSystem=true
|
||||
ReadWriteDirectories=-/etc/keydb
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
if [ "${EXTRA}" != "" ]
|
||||
then
|
||||
echo "${EXTRA}" >> "${TARGET}"
|
||||
fi
|
||||
done
|
||||
done
|
||||
@@ -0,0 +1,32 @@
|
||||
keydb (5:5.3.3-1~bionic1) bionic; urgency=medium
|
||||
|
||||
* 5.3.3 Updating deb source package and naming convention.
|
||||
|
||||
-- Ben Schermel <ben@eqalpha.com> Fri, 25 Oct 2019 8:00:37 +0000
|
||||
|
||||
keydb (5:5.1.12-1chl1~bionic1) bionic; urgency=medium
|
||||
|
||||
* 5.1.1 update. This update fixes several rare deadlock scenarios. Deadlock detection is also added.
|
||||
|
||||
-- Ben Schermel <ben@eqalpha.com> Fri, 25 Oct 2019 8:00:37 +0000
|
||||
|
||||
|
||||
keydb (5:5.1.11-1chl1~bionic1) bionic; urgency=medium
|
||||
|
||||
* 5.1 release. This release includes subkey expires (EXPIREMEMBER/EXPIREMEMBERAT), with updates to PTTL/TTL accordingly. New OBJECT LASTMODIFIED, BITIOP LSHIFT & BITOP RSHIFT commands. See https://docs.keydb.dev/blog/2019/10/20/blog-post/ for detailed review of release.
|
||||
|
||||
-- Ben Schermel <ben@eqalpha.com> Mon, 21 Oct 2019 8:00:37 +0000
|
||||
|
||||
|
||||
keydb (5:5.0.1-1chl1~bionic1) bionic; urgency=medium
|
||||
|
||||
* Arm build now included for bionic package
|
||||
|
||||
-- Ben Schermel <ben@eqalpha.com> Wed, 21 Aug 2019 22:58:37 +0000
|
||||
|
||||
|
||||
keydb (5:5.0.0-1chl1~bionic1) bionic; urgency=medium
|
||||
|
||||
* Initial release of KeyDB PPA. This PPA was originally derived from https://launchpad.net/~chris-lea/+archive/ubuntu/redis-server
|
||||
|
||||
-- Ben Schermel <ben@eqalpha.com> Wed, 21 Aug 2019 2:58:37 +0000
|
||||
@@ -0,0 +1 @@
|
||||
9
|
||||
@@ -0,0 +1,77 @@
|
||||
Source: keydb
|
||||
Section: database
|
||||
Priority: optional
|
||||
Maintainer: Ben Schermel <ben@eqalpha.com>
|
||||
Build-Depends:
|
||||
debhelper (>= 9~),
|
||||
dpkg-dev (>= 1.17.5),
|
||||
systemd,
|
||||
procps <!nocheck>,
|
||||
build-essential <!nocheck>,
|
||||
tcl <!nocheck>,
|
||||
tcl-dev <!nocheck>,
|
||||
uuid-dev <!nocheck>,
|
||||
libcurl4-openssl-dev <!nocheck>,
|
||||
nasm <!nocheck>,
|
||||
autotools-dev <!nocheck>,
|
||||
autoconf <!nocheck>,
|
||||
libjemalloc-dev <!nocheck>,
|
||||
libssl-dev <!nocheck>
|
||||
Standards-Version: 4.2.1
|
||||
Homepage: https://docs.keydb.dev/
|
||||
Vcs-Git: https://github.com/JohnSully/KeyDB.git
|
||||
Vcs-Browser: https://github.com/JohnSully/KeyDB
|
||||
|
||||
Package: keydb
|
||||
Architecture: all
|
||||
Depends:
|
||||
keydb-server (<< ${binary:Version}.1~),
|
||||
keydb-server (>= ${binary:Version}),
|
||||
${misc:Depends},
|
||||
Description: Persistent key-value database with network interface (metapackage)
|
||||
keydb is a key-value database in a similar vein to memcache but the dataset
|
||||
is non-volatile. keydb additionally provides native support for atomically
|
||||
manipulating and querying data structures such as lists and sets.
|
||||
.
|
||||
The dataset is stored entirely in memory and periodically flushed to disk.
|
||||
.
|
||||
This package depends on the keydb-server package.
|
||||
|
||||
Package: keydb-sentinel
|
||||
Architecture: any
|
||||
Depends:
|
||||
lsb-base (>= 3.2-14),
|
||||
keydb-tools (= ${binary:Version}),
|
||||
${misc:Depends},
|
||||
Description: Persistent key-value database with network interface (monitoring)
|
||||
keydb is a key-value database in a similar vein to memcache but the dataset
|
||||
is non-volatile. keydb additionally provides native support for atomically
|
||||
manipulating and querying data structures such as lists and sets.
|
||||
.
|
||||
This package contains the keydb Sentinel monitoring software.
|
||||
|
||||
Package: keydb-server
|
||||
Architecture: any
|
||||
Depends:
|
||||
lsb-base (>= 3.2-14),
|
||||
keydb-tools (= ${binary:Version}),
|
||||
${misc:Depends},
|
||||
Description: Persistent key-value database with network interface
|
||||
keydb is a key-value database in a similar vein to memcache but the dataset
|
||||
is non-volatile. keydb additionally provides native support for atomically
|
||||
manipulating and querying data structures such as lists and sets.
|
||||
.
|
||||
The dataset is stored entirely in memory and periodically flushed to disk.
|
||||
|
||||
Package: keydb-tools
|
||||
Architecture: any
|
||||
Depends:
|
||||
adduser,
|
||||
${misc:Depends},
|
||||
${shlibs:Depends},
|
||||
Description: Persistent key-value database with network interface (client)
|
||||
keydb is a key-value database in a similar vein to memcache but the dataset
|
||||
is non-volatile. keydb additionally provides native support for atomically
|
||||
manipulating and querying data structures such as lists and sets.
|
||||
.
|
||||
This package contains the command line client and other tools.
|
||||
@@ -0,0 +1,61 @@
|
||||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Contact: John Sully <john@eqalpha.com>
|
||||
Upstream-Name: keydb-pro
|
||||
Source: https://github.com/JohnSully/KeyDB-Pro
|
||||
|
||||
Files: *
|
||||
Copyright: © 2006-2014 Salvatore Sanfilippo <antirez@gmail.com>
|
||||
Copyright © 2019, John Sully
|
||||
License: Proprietary
|
||||
|
||||
|
||||
Files: debian/*
|
||||
Copyright: © 2009 Chris Lamb <lamby@debian.org>
|
||||
License: BSD-3-clause
|
||||
|
||||
License: BSD-2-clause
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
.
|
||||
1. Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
.
|
||||
2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
.
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
License: BSD-3-clause
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
.
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of Redis nor the names of its contributors may be
|
||||
used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
.
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
@@ -0,0 +1,68 @@
|
||||
.TH KEYDB-BENCHMARK 1 "August 17, 2019"
|
||||
.SH NAME
|
||||
keydb-benchmark \- Benchmark a KeyDB instance
|
||||
.SH SYNOPSIS
|
||||
.B redis-benchmark
|
||||
[\-h <host>] [\-p <port>] [\-c <clients>] [\-n <requests]> [\-k <boolean>]
|
||||
.SH DESCRIPTION
|
||||
KeyDB is a key-value database. It is similar to memcached but the dataset is
|
||||
not volatile and other datatypes (such as lists and sets) are natively
|
||||
supported.
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
\-h hostname
|
||||
Server hostname (default 127.0.0.1)
|
||||
.TP
|
||||
\-p port
|
||||
Server port (default 6379)
|
||||
.TP
|
||||
\-s socket
|
||||
Server socket (overrides host and port)
|
||||
.TP
|
||||
\-a password
|
||||
Password for KeyDB Auth
|
||||
.TP
|
||||
\-c clients
|
||||
Number of parallel connections (default 50)
|
||||
.TP
|
||||
\-n requests
|
||||
Total number of requests (default 100000)
|
||||
.TP
|
||||
\-d size
|
||||
Data size of SET/GET value in bytes (default 2)
|
||||
.TP
|
||||
\-dbnum db
|
||||
SELECT the specified db number (default 0)
|
||||
.TP
|
||||
\-k boolean
|
||||
1=keep alive 0=reconnect (default 1)
|
||||
.TP
|
||||
\-r keyspacelen
|
||||
Use random keys for SET/GET/INCR, random values for SADD Using this option the
|
||||
benchmark will get/set keys in the form mykey_rand000000012456 instead of
|
||||
constant keys, the <keyspacelen> argument determines the max number of values
|
||||
for the random number. For instance if set to 10 only rand000000000000 -
|
||||
rand000000000009 range will be allowed.
|
||||
.TP
|
||||
\-P numreq
|
||||
Pipeline <numreq> requests. Default 1 (no pipeline).
|
||||
.TP
|
||||
\-q
|
||||
Quiet. Just show query/sec values
|
||||
.TP
|
||||
\-\-csv
|
||||
Ourput in CSV format
|
||||
.TP
|
||||
\-l
|
||||
Loop. Run the tests forever
|
||||
.TP
|
||||
\-I
|
||||
Idle mode. Just open N idle connections and wait.
|
||||
.TP
|
||||
\-D
|
||||
Debug mode. more verbose.
|
||||
.SH AUTHOR
|
||||
\fBkeydb-benchmark\fP was written by John Sully, originating as a fork of Redis. Redis was written by Salvatore Sanfilippo.
|
||||
.PP
|
||||
This manual page was written by Chris Lamb <lamby@debian.org> for the Debian
|
||||
project (but may be used by others). Modified by Ben Schermel <ben@eqalpha.com>
|
||||
@@ -0,0 +1,17 @@
|
||||
.TH KEYDB-CHECK-AOF 1 "August 17, 2019"
|
||||
.SH NAME
|
||||
keydb-check-aof \- Check integrity of a KeyDB .AOF file
|
||||
.SH SYNOPSIS
|
||||
.B keydb-check-aof
|
||||
filename
|
||||
.SH DESCRIPTION
|
||||
KeyDB is a key-value database. It is similar to memcached but the dataset is
|
||||
not volatile and other datatypes (such as lists and sets) are natively
|
||||
supported.
|
||||
.PP
|
||||
This utility checks the integrity of a dumped .AOF file.
|
||||
.SH AUTHOR
|
||||
\fBkeydb-check-aof\fP was written by John Sully, originating as a fork of Redis. Redis was written by Salvatore Sanfilippo.
|
||||
.PP
|
||||
This manual page was written by Chris Lamb <lamby@debian.org> for the Debian
|
||||
project (but may be used by others). Modified by Ben Schermel <ben@eqalpha.com>
|
||||
@@ -0,0 +1,17 @@
|
||||
.TH KEYDB-CHECK-RDB 1 "August 17, 2019"
|
||||
.SH NAME
|
||||
keydb-check-rdb \- Check integrity of KeyDB dumped database file
|
||||
.SH SYNOPSIS
|
||||
.B keydb-check-rdb
|
||||
filename
|
||||
.SH DESCRIPTION
|
||||
KeyDB is a key-value database. It is similar to memcached but the dataset is
|
||||
not volatile and other datatypes (such as lists and sets) are natively
|
||||
supported.
|
||||
.PP
|
||||
This utility checks the integrity of a dumped database file.
|
||||
.SH AUTHOR
|
||||
\fBredis-check-rdb\fP was written by John Sully, originating as a fork of Redis. Redis was written by Salvatore Sanfilippo.
|
||||
.PP
|
||||
This manual page was written by Chris Lamb <lamby@debian.org> for the Debian
|
||||
project (but may be used by others). Modified by Ben Schermel <ben@eqalpha.com>
|
||||
@@ -0,0 +1,19 @@
|
||||
.TH KEYDB-CLI 1 "August 17, 2019"
|
||||
.SH NAME
|
||||
keydb-cli \- Command-line client to keydb-server
|
||||
.SH SYNOPSIS
|
||||
.B keydb-cli
|
||||
.RI [options]
|
||||
.SH DESCRIPTION
|
||||
KeyDB is a key-value database. It is similar to memcached but the dataset is
|
||||
not volatile and other datatypes (such as lists and sets) are natively
|
||||
supported.
|
||||
.PP
|
||||
\fBkeydb-cli\fP provides a simple command-line interface to a KeyDB server.
|
||||
.SH OPTIONS
|
||||
See \fBkeydb-doc\fP for more information on the commands KeyDB accepts.
|
||||
.SH AUTHOR
|
||||
\fBkeydb-cli\fP was written by John Sully, originating as a fork of Redis. Redis was written by Salvatore Sanfilippo.
|
||||
.PP
|
||||
This manual page was written by Chris Lamb <lamby@debian.org> for the Debian
|
||||
project (but may be used by others). Modified by Ben Schermel <ben@eqalpha.com>
|
||||
@@ -0,0 +1,23 @@
|
||||
.TH KEYDB-SENTINEL 1 "August 17, 2019"
|
||||
.SH NAME
|
||||
keydb-sentinel \- Persistent key-value database (cluster mode)
|
||||
.SH SYNOPSIS
|
||||
.B keydb-sentinel
|
||||
.RI configfile
|
||||
.SH DESCRIPTION
|
||||
KeyDB is a key-value database. It is similar to memcached but the dataset is
|
||||
not volatile and other datatypes (such as lists and sets) are natively
|
||||
supported.
|
||||
.PP
|
||||
.SH OPTIONS
|
||||
.IP "configfile"
|
||||
Read options from specified configuration file.
|
||||
.SH NOTES
|
||||
On Debian GNU/Linux systems, \fBkeydb-sentinel\fP is typically started via the
|
||||
\fB/etc/init.d/keydb-sentinel\fP initscript, not manually. This defaults to using
|
||||
\fB/etc/keydb/sentinel.conf\fP as a configuration file.
|
||||
.SH AUTHOR
|
||||
\fBkeydb-sentinel\fP was written by John Sully, originating as a fork of Redis. Redis was written by Salvatore Sanfilippo.
|
||||
.PP
|
||||
This manual page was written by Chris Lamb <lamby@debian.org> for the Debian
|
||||
project (but may be used by others). Modified by Ben Schermel <ben@eqalpha.com>
|
||||
@@ -0,0 +1,2 @@
|
||||
debian/keydb-sentinel.service /lib/systemd/system/
|
||||
pkg/deb/conf/sentinel.conf /etc/keydb
|
||||
@@ -0,0 +1,7 @@
|
||||
/var/log/keydb/keydb-sentinel*.log {
|
||||
weekly
|
||||
missingok
|
||||
rotate 12
|
||||
compress
|
||||
notifempty
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
debian/keydb-sentinel.1
|
||||
@@ -0,0 +1,26 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -eu
|
||||
|
||||
USER="keydb"
|
||||
GROUP="$USER"
|
||||
CONFFILE="/etc/keydb/sentinel.conf"
|
||||
|
||||
if [ "$1" = "configure" ]
|
||||
then
|
||||
if ! dpkg-statoverride --list ${CONFFILE} >/dev/null 2>&1
|
||||
then
|
||||
dpkg-statoverride --update --add ${USER} ${GROUP} 640 ${CONFFILE}
|
||||
fi
|
||||
fi
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
if [ "$1" = "configure" ]
|
||||
then
|
||||
find /etc/keydb -maxdepth 1 -type d -name 'keydb-sentinel.*.d' -empty -delete
|
||||
fi
|
||||
|
||||
systemctl daemon-reload
|
||||
|
||||
exit 0
|
||||
@@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -eu
|
||||
|
||||
CONFFILE="/etc/keydb/sentinel.conf"
|
||||
|
||||
if [ "$1" = "purge" ]
|
||||
then
|
||||
dpkg-statoverride --remove ${CONFFILE} || test $? -eq 2
|
||||
fi
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
systemctl daemon-reload
|
||||
|
||||
exit 0
|
||||
@@ -0,0 +1,23 @@
|
||||
.TH KEYDB-SERVER 1 "August 17, 2019"
|
||||
.SH NAME
|
||||
keydb-server \- Persistent key-value database
|
||||
.SH SYNOPSIS
|
||||
.B keydb-server
|
||||
.RI configfile
|
||||
.SH DESCRIPTION
|
||||
KeyDB is a key-value database. It is similar to memcached but the dataset is
|
||||
not volatile and other datatypes (such as lists and sets) are natively
|
||||
supported.
|
||||
.PP
|
||||
.SH OPTIONS
|
||||
.IP "configfile"
|
||||
Read options from specified configuration file.
|
||||
.SH NOTES
|
||||
On Debian GNU/Linux systems, \fBkeydb-server\fP is typically started via the
|
||||
\fB/etc/init.d/keydb-server\fP initscript, not manually. This defaults to using
|
||||
\fB/etc/keydb/keydb.conf\fP as a configuration file.
|
||||
.SH AUTHOR
|
||||
\fBkeydb-server\fP was written by John Sully, originating as a fork of Redis. Redis was written by Salvatore Sanfilippo.
|
||||
.PP
|
||||
This manual page was written by Chris Lamb <lamby@debian.org> for the Debian
|
||||
project (but may be used by others). Modified by Ben Schermel <ben@eqalpha.com>
|
||||
@@ -0,0 +1 @@
|
||||
README.md
|
||||
@@ -0,0 +1,2 @@
|
||||
debian/keydb-server.service /lib/systemd/system/
|
||||
pkg/deb/conf/keydb.conf /etc/keydb
|
||||
@@ -0,0 +1,7 @@
|
||||
/var/log/keydb/keydb-server*.log {
|
||||
weekly
|
||||
missingok
|
||||
rotate 12
|
||||
compress
|
||||
notifempty
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
debian/keydb-server.1
|
||||
@@ -0,0 +1,26 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -eu
|
||||
|
||||
USER="keydb"
|
||||
GROUP="$USER"
|
||||
CONFFILE="/etc/keydb/keydb.conf"
|
||||
|
||||
if [ "$1" = "configure" ]
|
||||
then
|
||||
if ! dpkg-statoverride --list ${CONFFILE} >/dev/null 2>&1
|
||||
then
|
||||
dpkg-statoverride --update --add ${USER} ${GROUP} 640 ${CONFFILE}
|
||||
fi
|
||||
fi
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
if [ "$1" = "configure" ]
|
||||
then
|
||||
find /etc/keydb -maxdepth 1 -type d -name 'keydb-server.*.d' -empty -delete
|
||||
fi
|
||||
|
||||
systemctl daemon-reload
|
||||
|
||||
exit 0
|
||||
@@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -eu
|
||||
|
||||
CONFFILE="/etc/keydb/keydb.conf"
|
||||
|
||||
if [ "${1}" = "purge" ]
|
||||
then
|
||||
dpkg-statoverride --remove ${CONFFILE} || test $? -eq 2
|
||||
fi
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
systemctl daemon-reload
|
||||
|
||||
exit 0
|
||||
@@ -0,0 +1,2 @@
|
||||
src/redis-trib.rb
|
||||
utils/lru
|
||||
@@ -0,0 +1,7 @@
|
||||
debian/bash_completion.d/* /usr/share/bash-completion/completions
|
||||
src/keydb-benchmark /usr/bin
|
||||
src/keydb-check-aof /usr/bin
|
||||
src/keydb-check-rdb /usr/bin
|
||||
src/keydb-cli /usr/bin
|
||||
src/keydb-server /usr/bin
|
||||
src/keydb-sentinel /usr/bin
|
||||
@@ -0,0 +1,4 @@
|
||||
debian/keydb-benchmark.1
|
||||
debian/keydb-check-aof.1
|
||||
debian/keydb-check-rdb.1
|
||||
debian/keydb-cli.1
|
||||
@@ -0,0 +1,47 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -eu
|
||||
|
||||
USER="keydb"
|
||||
|
||||
Setup_dir () {
|
||||
DIR="${1}"
|
||||
MODE="${2}"
|
||||
GROUP="${3}"
|
||||
|
||||
mkdir -p ${DIR}
|
||||
|
||||
case "${DIR}" in
|
||||
/var/log/keydb)
|
||||
MODE="02750"
|
||||
GROUP="adm"
|
||||
;;
|
||||
*)
|
||||
MODE="750"
|
||||
GROUP="${USER}"
|
||||
;;
|
||||
esac
|
||||
|
||||
if ! dpkg-statoverride --list ${DIR} >/dev/null 2>&1
|
||||
then
|
||||
chown ${USER}:${GROUP} ${DIR}
|
||||
chmod ${MODE} ${DIR}
|
||||
fi
|
||||
}
|
||||
|
||||
if [ "$1" = "configure" ]
|
||||
then
|
||||
adduser \
|
||||
--system \
|
||||
--home /var/lib/keydb \
|
||||
--quiet \
|
||||
--group \
|
||||
${USER} || true
|
||||
|
||||
Setup_dir /var/log/keydb ${USER}:adm 2750
|
||||
Setup_dir /var/lib/keydb ${USER}:${USER} 750
|
||||
fi
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
||||
@@ -0,0 +1,13 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -eu
|
||||
|
||||
if [ "${1}" = "purge" ]
|
||||
then
|
||||
userdel keydb || true
|
||||
rm -rf /var/lib/keydb /var/log/keydb
|
||||
fi
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
||||
Executable
+39
@@ -0,0 +1,39 @@
|
||||
#!/usr/bin/make -f
|
||||
|
||||
include /usr/share/dpkg/buildflags.mk
|
||||
|
||||
export BUILD_TLS=yes
|
||||
export CFLAGS CPPFLAGS LDFLAGS
|
||||
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
|
||||
export DEB_LDFLAGS_MAINT_APPEND = -ldl -latomic $(LUA_LDFLAGS)
|
||||
|
||||
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
|
||||
NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
|
||||
MAKEFLAGS += -j$(NUMJOBS)
|
||||
export MAKEFLAGS
|
||||
endif
|
||||
|
||||
%:
|
||||
dh $@
|
||||
|
||||
override_dh_auto_install:
|
||||
debian/bin/generate-systemd-service-files
|
||||
dh_installsystemd --restart-after-upgrade
|
||||
|
||||
override_dh_auto_test:
|
||||
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
|
||||
# Avoid race conditions in upstream testsuite.
|
||||
./runtest || true
|
||||
./runtest-cluster || true
|
||||
./runtest-sentinel || true
|
||||
endif
|
||||
|
||||
override_dh_auto_clean:
|
||||
dh_auto_clean
|
||||
rm -f src/release.h debian/*.service
|
||||
|
||||
override_dh_compress:
|
||||
dh_compress -Xredis-trib.rb
|
||||
|
||||
override_dh_installchangelogs:
|
||||
dh_installchangelogs --keep 00-RELEASENOTES
|
||||
@@ -0,0 +1 @@
|
||||
3.0 (quilt)
|
||||
@@ -0,0 +1,2 @@
|
||||
# Upstream do not provide signed tarballs.
|
||||
keydb-pro source: debian-watch-does-not-check-gpg-signature
|
||||
Executable
+8
@@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Show the INFO from "keydb-cli"
|
||||
|
||||
set -eu
|
||||
|
||||
keydb-cli INFO
|
||||
keydb-cli LOLWUT
|
||||
Executable
+7
@@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Run the benchmarking
|
||||
|
||||
set -eu
|
||||
|
||||
keydb-benchmark -P 10
|
||||
Executable
+5
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Smoke test keydb-check-aof
|
||||
|
||||
keydb-check-aof 2>&1 | grep -qsi usage:
|
||||
Executable
+10
@@ -0,0 +1,10 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Test keydb-check-rdb
|
||||
|
||||
set -eu
|
||||
|
||||
# Perform a synchronous save to ensure .rdb file eixsts
|
||||
keydb-cli SAVE
|
||||
|
||||
keydb-check-rdb /var/lib/keydb/dump.rdb
|
||||
@@ -0,0 +1,8 @@
|
||||
Tests: 0001-keydb-cli
|
||||
|
||||
Tests: 0002-benchmark
|
||||
|
||||
Tests: 0003-keydb-check-aof
|
||||
|
||||
Tests: 0004-keydb-check-rdb
|
||||
Restrictions: needs-root
|
||||
@@ -0,0 +1,3 @@
|
||||
version=6
|
||||
opts=uversionmangle=s/-?(alpha|beta|rc)/~$1/ \
|
||||
https://github.com/JohnSully/KeyDB-Pro/releases .*/archive/(.*).tar.gz
|
||||
@@ -0,0 +1,8 @@
|
||||
keydb (4:4.0.2-3) unstable; urgency=medium
|
||||
|
||||
This version drops the Debian-specific support for the
|
||||
/etc/keydb/keydb-{server,sentinel}.{pre,post}-{up,down}.d directories in
|
||||
favour of using systemd's ExecStartPre, ExecStartPost, ExecStopPre,
|
||||
ExecStopPost commands.
|
||||
|
||||
-- Chris Lamb <lamby@debian.org> Wed, 11 Oct 2017 22:55:00 -0400
|
||||
@@ -0,0 +1,30 @@
|
||||
# -*- sh -*-
|
||||
#
|
||||
# Bash completion function for the 'keydb-cli' command.
|
||||
#
|
||||
# Steve
|
||||
# --
|
||||
# http://www.steve.org.uk
|
||||
#
|
||||
|
||||
_keydb-cli()
|
||||
{
|
||||
COMPREPLY=()
|
||||
cur=${COMP_WORDS[COMP_CWORD]}
|
||||
prev=${COMP_WORDS[COMP_CWORD-1]}
|
||||
|
||||
#
|
||||
# All known commands accepted. Sorted.
|
||||
#
|
||||
opts='bgrewriteaof bgsave dbsize debug decr decrby del echo exists expire expireat flushall flushdb get getset incr incrby info keys lastsave lindex llen lpop lpush lrange lrem lset ltrim mget move mset msetnx ping randomkey rename renamenx rewriteaof rpop rpoplpush rpush sadd save scard sdiff sdiffstore select set setnx shutdown sinter sinterstore sismember slaveof smembers smove sort spop srandmember srem sunion sunionstore ttl type zadd zcard zincrby zrange zrangebyscore zrem zremrangebyscore zrevrange zscore'
|
||||
|
||||
#
|
||||
# Only complete on the first term.
|
||||
#
|
||||
if [ $COMP_CWORD -eq 1 ]; then
|
||||
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
|
||||
return 0
|
||||
fi
|
||||
|
||||
}
|
||||
complete -F _keydb-cli keydb-cli
|
||||
+131
@@ -0,0 +1,131 @@
|
||||
#!/bin/sh
|
||||
|
||||
SYSTEMD_VER=$(systemctl --version | head -1 | cut -d' ' -f2)
|
||||
|
||||
if [ ${SYSTEMD_VER} -lt 237 ]
|
||||
then
|
||||
SYSTEMD_EXTRA=""
|
||||
else
|
||||
SYSTEMD_EXTRA=$(cat <<EOF
|
||||
|
||||
RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX
|
||||
#MemoryDenyWriteExecute=true
|
||||
ProtectKernelModules=true
|
||||
ProtectKernelTunables=true
|
||||
ProtectControlGroups=true
|
||||
RestrictRealtime=true
|
||||
RestrictNamespaces=true
|
||||
EOF
|
||||
)
|
||||
fi
|
||||
|
||||
for BINARY in keydb-server keydb-sentinel
|
||||
do
|
||||
for MODE in default templated
|
||||
do
|
||||
case "${BINARY}" in
|
||||
keydb-server)
|
||||
NAME="keydb"
|
||||
;;
|
||||
keydb-sentinel)
|
||||
NAME="sentinel"
|
||||
;;
|
||||
esac
|
||||
|
||||
case "${MODE}" in
|
||||
default)
|
||||
EXTRA="Alias=${NAME}.service"
|
||||
TARGET="debian/${BINARY}.service"
|
||||
NAMESPACED="${NAME}"
|
||||
DESCRIPTION="Advanced key-value store"
|
||||
;;
|
||||
templated)
|
||||
EXTRA=""
|
||||
TARGET="debian/${BINARY}@.service"
|
||||
NAMESPACED="${NAME}-%i"
|
||||
DESCRIPTION="Advanced key-value store (%I)"
|
||||
;;
|
||||
esac
|
||||
|
||||
: >${TARGET}
|
||||
|
||||
if [ "${MODE}" = "templated" ]
|
||||
then
|
||||
cat >> ${TARGET} <<EOF
|
||||
# Templated service file for ${BINARY}(1)
|
||||
#
|
||||
# Each instance of ${BINARY} requires its own configuration file:
|
||||
#
|
||||
# $ cp /etc/keydb/${NAME}.conf /etc/keydb/${NAME}-myname.conf
|
||||
# $ chown keydb:keydb /etc/keydb/${NAME}-myname.conf
|
||||
#
|
||||
# Ensure each instance is using their own database:
|
||||
#
|
||||
# $ sed -i -e 's@^dbfilename .*@dbfilename dump-myname.rdb@' /etc/keydb/${NAME}-myname.conf
|
||||
#
|
||||
# We then listen exlusively on UNIX sockets to avoid TCP port collisions:
|
||||
#
|
||||
# $ sed -i -e 's@^port .*@port 0@' /etc/keydb/${NAME}-myname.conf
|
||||
# $ sed -i -e 's@^\\(# \\)\\{0,1\\}unixsocket .*@unixsocket /var/run/${NAME}-myname/${BINARY}.sock@' /etc/keydb/${NAME}-myname.conf
|
||||
#
|
||||
# ... and ensure we are logging, etc. in a unique location:
|
||||
#
|
||||
# $ sed -i -e 's@^logfile .*@logfile /var/log/keydb/${BINARY}-myname.log@' /etc/keydb/${NAME}-myname.conf
|
||||
# $ sed -i -e 's@^pidfile .*@pidfile /var/run/keydb-myname/${BINARY}.pid@' /etc/keydb/${NAME}-myname.conf
|
||||
#
|
||||
# We can then start the service as follows, validating we are using our own
|
||||
# configuration:
|
||||
#
|
||||
# $ systemctl start ${BINARY}@myname.service
|
||||
# $ keydb-cli -s /var/run/${NAME}-myname/${BINARY}.sock info | grep config_file
|
||||
#
|
||||
# -- Chris Lamb <lamby@debian.org> Mon, 09 Oct 2017 22:17:24 +0100
|
||||
EOF
|
||||
fi
|
||||
|
||||
cat >> ${TARGET} <<EOF
|
||||
[Unit]
|
||||
Description=${DESCRIPTION}
|
||||
After=network.target
|
||||
Documentation=https://docs.keydb.dev, man:${BINARY}(1)
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
ExecStart=/usr/bin/${BINARY} /etc/keydb/${NAMESPACED}.conf
|
||||
ExecStop=/bin/kill -s TERM \$MAINPID
|
||||
PIDFile=/var/run/${NAMESPACED}/${BINARY}.pid
|
||||
TimeoutStopSec=0
|
||||
Restart=always
|
||||
User=keydb
|
||||
Group=keydb
|
||||
RuntimeDirectory=${NAMESPACED}
|
||||
RuntimeDirectoryMode=2755
|
||||
|
||||
UMask=007
|
||||
PrivateTmp=yes
|
||||
LimitNOFILE=65535
|
||||
PrivateDevices=yes
|
||||
ProtectHome=yes
|
||||
ReadOnlyDirectories=/
|
||||
ReadWriteDirectories=-/var/lib/keydb
|
||||
ReadWriteDirectories=-/var/log/keydb
|
||||
ReadWriteDirectories=-/var/run/${NAMESPACED}
|
||||
|
||||
NoNewPrivileges=true
|
||||
CapabilityBoundingSet=CAP_SETGID CAP_SETUID CAP_SYS_RESOURCE${SYSTEMD_EXTRA}
|
||||
|
||||
# ${BINARY} can write to its own config file when in cluster mode so we
|
||||
# permit writing there by default. If you are not using this feature, it is
|
||||
# recommended that you replace the following lines with "ProtectSystem=full".
|
||||
ProtectSystem=true
|
||||
ReadWriteDirectories=-/etc/keydb
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
if [ "${EXTRA}" != "" ]
|
||||
then
|
||||
echo "${EXTRA}" >> "${TARGET}"
|
||||
fi
|
||||
done
|
||||
done
|
||||
@@ -0,0 +1,32 @@
|
||||
keydb (5:5.3.3-1~bionic1) bionic; urgency=medium
|
||||
|
||||
* 5.3.3 Updating deb source package and naming convention.
|
||||
|
||||
-- Ben Schermel <ben@eqalpha.com> Fri, 25 Oct 2019 8:00:37 +0000
|
||||
|
||||
keydb (5:5.1.12-1chl1~bionic1) bionic; urgency=medium
|
||||
|
||||
* 5.1.1 update. This update fixes several rare deadlock scenarios. Deadlock detection is also added.
|
||||
|
||||
-- Ben Schermel <ben@eqalpha.com> Fri, 25 Oct 2019 8:00:37 +0000
|
||||
|
||||
|
||||
keydb (5:5.1.11-1chl1~bionic1) bionic; urgency=medium
|
||||
|
||||
* 5.1 release. This release includes subkey expires (EXPIREMEMBER/EXPIREMEMBERAT), with updates to PTTL/TTL accordingly. New OBJECT LASTMODIFIED, BITIOP LSHIFT & BITOP RSHIFT commands. See https://docs.keydb.dev/blog/2019/10/20/blog-post/ for detailed review of release.
|
||||
|
||||
-- Ben Schermel <ben@eqalpha.com> Mon, 21 Oct 2019 8:00:37 +0000
|
||||
|
||||
|
||||
keydb (5:5.0.1-1chl1~bionic1) bionic; urgency=medium
|
||||
|
||||
* Arm build now included for bionic package
|
||||
|
||||
-- Ben Schermel <ben@eqalpha.com> Wed, 21 Aug 2019 22:58:37 +0000
|
||||
|
||||
|
||||
keydb (5:5.0.0-1chl1~bionic1) bionic; urgency=medium
|
||||
|
||||
* Initial release of KeyDB PPA. This PPA was originally derived from https://launchpad.net/~chris-lea/+archive/ubuntu/redis-server
|
||||
|
||||
-- Ben Schermel <ben@eqalpha.com> Wed, 21 Aug 2019 2:58:37 +0000
|
||||
@@ -0,0 +1 @@
|
||||
9
|
||||
@@ -0,0 +1,77 @@
|
||||
Source: keydb
|
||||
Section: database
|
||||
Priority: optional
|
||||
Maintainer: Ben Schermel <ben@eqalpha.com>
|
||||
Build-Depends:
|
||||
debhelper (>= 9~),
|
||||
dpkg-dev (>= 1.17.5),
|
||||
systemd,
|
||||
procps <!nocheck>,
|
||||
build-essential <!nocheck>,
|
||||
tcl <!nocheck>,
|
||||
tcl-dev <!nocheck>,
|
||||
uuid-dev <!nocheck>,
|
||||
libcurl4-openssl-dev <!nocheck>,
|
||||
nasm <!nocheck>,
|
||||
autotools-dev <!nocheck>,
|
||||
autoconf <!nocheck>,
|
||||
libjemalloc-dev <!nocheck>,
|
||||
libssl-dev <!nocheck>
|
||||
Standards-Version: 4.2.1
|
||||
Homepage: https://docs.keydb.dev/
|
||||
Vcs-Git: https://github.com/JohnSully/KeyDB.git
|
||||
Vcs-Browser: https://github.com/JohnSully/KeyDB
|
||||
|
||||
Package: keydb
|
||||
Architecture: all
|
||||
Depends:
|
||||
keydb-server (<< ${binary:Version}.1~),
|
||||
keydb-server (>= ${binary:Version}),
|
||||
${misc:Depends},
|
||||
Description: Persistent key-value database with network interface (metapackage)
|
||||
keydb is a key-value database in a similar vein to memcache but the dataset
|
||||
is non-volatile. keydb additionally provides native support for atomically
|
||||
manipulating and querying data structures such as lists and sets.
|
||||
.
|
||||
The dataset is stored entirely in memory and periodically flushed to disk.
|
||||
.
|
||||
This package depends on the keydb-server package.
|
||||
|
||||
Package: keydb-sentinel
|
||||
Architecture: any
|
||||
Depends:
|
||||
lsb-base (>= 3.2-14),
|
||||
keydb-tools (= ${binary:Version}),
|
||||
${misc:Depends},
|
||||
Description: Persistent key-value database with network interface (monitoring)
|
||||
keydb is a key-value database in a similar vein to memcache but the dataset
|
||||
is non-volatile. keydb additionally provides native support for atomically
|
||||
manipulating and querying data structures such as lists and sets.
|
||||
.
|
||||
This package contains the keydb Sentinel monitoring software.
|
||||
|
||||
Package: keydb-server
|
||||
Architecture: any
|
||||
Depends:
|
||||
lsb-base (>= 3.2-14),
|
||||
keydb-tools (= ${binary:Version}),
|
||||
${misc:Depends},
|
||||
Description: Persistent key-value database with network interface
|
||||
keydb is a key-value database in a similar vein to memcache but the dataset
|
||||
is non-volatile. keydb additionally provides native support for atomically
|
||||
manipulating and querying data structures such as lists and sets.
|
||||
.
|
||||
The dataset is stored entirely in memory and periodically flushed to disk.
|
||||
|
||||
Package: keydb-tools
|
||||
Architecture: any
|
||||
Depends:
|
||||
adduser,
|
||||
${misc:Depends},
|
||||
${shlibs:Depends},
|
||||
Description: Persistent key-value database with network interface (client)
|
||||
keydb is a key-value database in a similar vein to memcache but the dataset
|
||||
is non-volatile. keydb additionally provides native support for atomically
|
||||
manipulating and querying data structures such as lists and sets.
|
||||
.
|
||||
This package contains the command line client and other tools.
|
||||
@@ -0,0 +1,134 @@
|
||||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Contact: John Sully <john@eqalpha.com>
|
||||
Upstream-Name: keydb
|
||||
Source: https://github.com/JohnSully/KeyDB
|
||||
|
||||
Files: *
|
||||
Copyright: © 2006-2014 Salvatore Sanfilippo <antirez@gmail.com>
|
||||
Copyright © 2019, John Sully
|
||||
License: BSD-3-clause
|
||||
|
||||
Files:
|
||||
src/rio.*
|
||||
src/t_zset.c
|
||||
src/ziplist.h
|
||||
src/intset.*
|
||||
src/redis-check-aof.c
|
||||
deps/hiredis/*
|
||||
deps/linenoise/*
|
||||
Copyright:
|
||||
© 2009-2012 Pieter Noordhuis <pcnoordhuis@gmail.com>
|
||||
© 2009-2012 Salvatore Sanfilippo <antirez@gmail.com>
|
||||
License: BSD-3-clause
|
||||
|
||||
Files:
|
||||
src/lzf.h
|
||||
src/lzfP.h
|
||||
src/lzf_d.c
|
||||
src/lzf_c.c
|
||||
Copyright:
|
||||
© 2000-2007 Marc Alexander Lehmann <schmorp@schmorp.de>
|
||||
© 2009-2012 Salvatore Sanfilippo <antirez@gmail.com>
|
||||
License: BSD-2-clause
|
||||
|
||||
Files: src/setproctitle.c
|
||||
Copyright:
|
||||
© 2010 William Ahern
|
||||
© 2013 Salvatore Sanfilippo
|
||||
© 2013 Stam He
|
||||
License: BSD-3-clause
|
||||
|
||||
Files: src/ae_evport.c
|
||||
Copyright: © 2012 Joyent, Inc.
|
||||
License: BSD-3-clause
|
||||
|
||||
Files: src/ae_kqueue.c
|
||||
Copyright: © 2009 Harish Mallipeddi <harish.mallipeddi@gmail.com>
|
||||
License: BSD-3-clause
|
||||
|
||||
Files: utils/install_server.sh
|
||||
Copyright: © 2011 Dvir Volk <dvirsk@gmail.com>
|
||||
License: BSD-3-clause
|
||||
|
||||
Files: deps/jemalloc/*
|
||||
Copyright:
|
||||
© 2002-2012 Jason Evans <jasone@canonware.com>
|
||||
© 2007-2012 Mozilla Foundation
|
||||
© 2009-2012 Facebook, Inc.
|
||||
License: BSD-3-clause
|
||||
|
||||
Files: src/pqsort.*
|
||||
Copyright: © 1992-1993 The Regents of the University of California
|
||||
License: BSD-3-clause
|
||||
|
||||
Files: deps/lua/*
|
||||
Copyright: © 1994-2012 Lua.org, PUC-Ri
|
||||
License: MIT
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
.
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
Files: debian/*
|
||||
Copyright: © 2009 Chris Lamb <lamby@debian.org>
|
||||
License: BSD-3-clause
|
||||
|
||||
License: BSD-2-clause
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
.
|
||||
1. Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
.
|
||||
2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
.
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
License: BSD-3-clause
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
.
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of Redis nor the names of its contributors may be
|
||||
used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
.
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
@@ -0,0 +1 @@
|
||||
keydb_5.3.3-1~bionic1_source.buildinfo database optional
|
||||
@@ -0,0 +1,3 @@
|
||||
[DEFAULT]
|
||||
debian-branch=debian/sid
|
||||
upstream-branch=upstream/sid
|
||||
@@ -0,0 +1,68 @@
|
||||
.TH KEYDB-BENCHMARK 1 "August 17, 2019"
|
||||
.SH NAME
|
||||
keydb-benchmark \- Benechmark a KeyDB instance
|
||||
.SH SYNOPSIS
|
||||
.B redis-benchmark
|
||||
[\-h <host>] [\-p <port>] [\-c <clients>] [\-n <requests]> [\-k <boolean>]
|
||||
.SH DESCRIPTION
|
||||
KeyDB is a key-value database. It is similar to memcached but the dataset is
|
||||
not volatile and other datatypes (such as lists and sets) are natively
|
||||
supported.
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
\-h hostname
|
||||
Server hostname (default 127.0.0.1)
|
||||
.TP
|
||||
\-p port
|
||||
Server port (default 6379)
|
||||
.TP
|
||||
\-s socket
|
||||
Server socket (overrides host and port)
|
||||
.TP
|
||||
\-a password
|
||||
Password for KeyDB Auth
|
||||
.TP
|
||||
\-c clients
|
||||
Number of parallel connections (default 50)
|
||||
.TP
|
||||
\-n requests
|
||||
Total number of requests (default 100000)
|
||||
.TP
|
||||
\-d size
|
||||
Data size of SET/GET value in bytes (default 2)
|
||||
.TP
|
||||
\-dbnum db
|
||||
SELECT the specified db number (default 0)
|
||||
.TP
|
||||
\-k boolean
|
||||
1=keep alive 0=reconnect (default 1)
|
||||
.TP
|
||||
\-r keyspacelen
|
||||
Use random keys for SET/GET/INCR, random values for SADD Using this option the
|
||||
benchmark will get/set keys in the form mykey_rand000000012456 instead of
|
||||
constant keys, the <keyspacelen> argument determines the max number of values
|
||||
for the random number. For instance if set to 10 only rand000000000000 -
|
||||
rand000000000009 range will be allowed.
|
||||
.TP
|
||||
\-P numreq
|
||||
Pipeline <numreq> requests. Default 1 (no pipeline).
|
||||
.TP
|
||||
\-q
|
||||
Quiet. Just show query/sec values
|
||||
.TP
|
||||
\-\-csv
|
||||
Ourput in CSV format
|
||||
.TP
|
||||
\-l
|
||||
Loop. Run the tests forever
|
||||
.TP
|
||||
\-I
|
||||
Idle mode. Just open N idle connections and wait.
|
||||
.TP
|
||||
\-D
|
||||
Debug mode. more verbose.
|
||||
.SH AUTHOR
|
||||
\fBkeydb-benchmark\fP was written by John Sully, originating as a fork of Redis. Redis was written by Salvatore Sanfilippo.
|
||||
.PP
|
||||
This manual page was written by Chris Lamb <lamby@debian.org> for the Debian
|
||||
project (but may be used by others). Modified by Ben Schermel <ben@eqalpha.com>
|
||||
@@ -0,0 +1,17 @@
|
||||
.TH KEYDB-CHECK-AOF 1 "August 17, 2019"
|
||||
.SH NAME
|
||||
keydb-check-aof \- Check integrity of a KeyDB .AOF file
|
||||
.SH SYNOPSIS
|
||||
.B keydb-check-aof
|
||||
filename
|
||||
.SH DESCRIPTION
|
||||
KeyDB is a key-value database. It is similar to memcached but the dataset is
|
||||
not volatile and other datatypes (such as lists and sets) are natively
|
||||
supported.
|
||||
.PP
|
||||
This utility checks the integrity of a dumped .AOF file.
|
||||
.SH AUTHOR
|
||||
\fBkeydb-check-aof\fP was written by John Sully, originating as a fork of Redis. Redis was written by Salvatore Sanfilippo.
|
||||
.PP
|
||||
This manual page was written by Chris Lamb <lamby@debian.org> for the Debian
|
||||
project (but may be used by others). Modified by Ben Schermel <ben@eqalpha.com>
|
||||
@@ -0,0 +1,17 @@
|
||||
.TH KEYDB-CHECK-RDB 1 "August 17, 2019"
|
||||
.SH NAME
|
||||
keydb-check-rdb \- Check integrity of KeyDB dumped database file
|
||||
.SH SYNOPSIS
|
||||
.B keydb-check-rdb
|
||||
filename
|
||||
.SH DESCRIPTION
|
||||
KeyDB is a key-value database. It is similar to memcached but the dataset is
|
||||
not volatile and other datatypes (such as lists and sets) are natively
|
||||
supported.
|
||||
.PP
|
||||
This utility checks the integrity of a dumped database file.
|
||||
.SH AUTHOR
|
||||
\fBredis-check-rdb\fP was written by John Sully, originating as a fork of Redis. Redis was written by Salvatore Sanfilippo.
|
||||
.PP
|
||||
This manual page was written by Chris Lamb <lamby@debian.org> for the Debian
|
||||
project (but may be used by others). Modified by Ben Schermel <ben@eqalpha.com>
|
||||
@@ -0,0 +1,19 @@
|
||||
.TH KEYDB-CLI 1 "August 17, 2019"
|
||||
.SH NAME
|
||||
keydb-cli \- Command-line client to keydb-server
|
||||
.SH SYNOPSIS
|
||||
.B keydb-cli
|
||||
.RI [options]
|
||||
.SH DESCRIPTION
|
||||
KeyDB is a key-value database. It is similar to memcached but the dataset is
|
||||
not volatile and other datatypes (such as lists and sets) are natively
|
||||
supported.
|
||||
.PP
|
||||
\fBkeydb-cli\fP provides a simple command-line interface to a KeyDB server.
|
||||
.SH OPTIONS
|
||||
See \fBkeydb-doc\fP for more information on the commands KeyDB accepts.
|
||||
.SH AUTHOR
|
||||
\fBkeydb-cli\fP was written by John Sully, originating as a fork of Redis. Redis was written by Salvatore Sanfilippo.
|
||||
.PP
|
||||
This manual page was written by Chris Lamb <lamby@debian.org> for the Debian
|
||||
project (but may be used by others). Modified by Ben Schermel <ben@eqalpha.com>
|
||||
@@ -0,0 +1,23 @@
|
||||
.TH KEYDB-SENTINEL 1 "August 17, 2019"
|
||||
.SH NAME
|
||||
keydb-sentinel \- Persistent key-value database (cluster mode)
|
||||
.SH SYNOPSIS
|
||||
.B keydb-sentinel
|
||||
.RI configfile
|
||||
.SH DESCRIPTION
|
||||
KeyDB is a key-value database. It is similar to memcached but the dataset is
|
||||
not volatile and other datatypes (such as lists and sets) are natively
|
||||
supported.
|
||||
.PP
|
||||
.SH OPTIONS
|
||||
.IP "configfile"
|
||||
Read options from specified configuration file.
|
||||
.SH NOTES
|
||||
On Debian GNU/Linux systems, \fBkeydb-sentinel\fP is typically started via the
|
||||
\fB/etc/init.d/keydb-sentinel\fP initscript, not manually. This defaults to using
|
||||
\fB/etc/keydb/sentinel.conf\fP as a configuration file.
|
||||
.SH AUTHOR
|
||||
\fBkeydb-sentinel\fP was written by John Sully, originating as a fork of Redis. Redis was written by Salvatore Sanfilippo.
|
||||
.PP
|
||||
This manual page was written by Chris Lamb <lamby@debian.org> for the Debian
|
||||
project (but may be used by others). Modified by Ben Schermel <ben@eqalpha.com>
|
||||
Executable
+8
@@ -0,0 +1,8 @@
|
||||
# keydb-sentinel configure options
|
||||
|
||||
# ULIMIT: Call ulimit -n with this argument prior to invoking KeyDB Sentinel
|
||||
# itself. This may be required for high-concurrency environments. KeyDB
|
||||
# Sentinel itself cannot alter its limits as it is not being run as root.
|
||||
# (default: 65536)
|
||||
#
|
||||
ULIMIT=65536
|
||||
Executable
+89
@@ -0,0 +1,89 @@
|
||||
#! /bin/sh
|
||||
### BEGIN INIT INFO
|
||||
# Provides: keydb-sentinel
|
||||
# Required-Start: $syslog $remote_fs
|
||||
# Required-Stop: $syslog $remote_fs
|
||||
# Should-Start: $local_fs
|
||||
# Should-Stop: $local_fs
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# Short-Description: keydb-sentinel - Persistent key-value db monitor
|
||||
# Description: keydb-sentinel - Persistent key-value db monitor
|
||||
### END INIT INFO
|
||||
|
||||
|
||||
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
||||
DAEMON=/usr/bin/keydb-sentinel
|
||||
DAEMON_ARGS=/etc/keydb/sentinel.conf
|
||||
NAME=keydb-sentinel
|
||||
DESC=keydb-sentinel
|
||||
|
||||
RUNDIR=/var/run/sentinel
|
||||
PIDFILE=$RUNDIR/keydb-sentinel.pid
|
||||
|
||||
test -x $DAEMON || exit 0
|
||||
|
||||
if [ -r /etc/default/$NAME ]
|
||||
then
|
||||
. /etc/default/$NAME
|
||||
fi
|
||||
|
||||
. /lib/lsb/init-functions
|
||||
|
||||
set -e
|
||||
|
||||
if [ "$(id -u)" != "0" ]
|
||||
then
|
||||
log_failure_msg "Must be run as root."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
echo -n "Starting $DESC: "
|
||||
mkdir -p $RUNDIR
|
||||
touch $PIDFILE
|
||||
chown keydb:keydb $RUNDIR $PIDFILE
|
||||
chmod 755 $RUNDIR
|
||||
|
||||
if [ -n "$ULIMIT" ]
|
||||
then
|
||||
ulimit -n $ULIMIT || true
|
||||
fi
|
||||
|
||||
if start-stop-daemon --start --quiet --oknodo --umask 007 --pidfile $PIDFILE --chuid keydb:keydb --exec $DAEMON -- $DAEMON_ARGS
|
||||
then
|
||||
echo "$NAME."
|
||||
else
|
||||
echo "failed"
|
||||
fi
|
||||
;;
|
||||
stop)
|
||||
echo -n "Stopping $DESC: "
|
||||
|
||||
if start-stop-daemon --stop --retry forever/TERM/1 --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON
|
||||
then
|
||||
echo "$NAME."
|
||||
else
|
||||
echo "failed"
|
||||
fi
|
||||
rm -f $PIDFILE
|
||||
sleep 1
|
||||
;;
|
||||
|
||||
restart|force-reload)
|
||||
${0} stop
|
||||
${0} start
|
||||
;;
|
||||
|
||||
status)
|
||||
status_of_proc -p ${PIDFILE} ${DAEMON} ${NAME}
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload|status}" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
@@ -0,0 +1,2 @@
|
||||
debian/keydb-sentinel.service /lib/systemd/system
|
||||
pkg/deb/conf/sentinel.conf /etc/keydb
|
||||
@@ -0,0 +1,7 @@
|
||||
/var/log/keydb/keydb-sentinel*.log {
|
||||
weekly
|
||||
missingok
|
||||
rotate 12
|
||||
compress
|
||||
notifempty
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
rm_conffile /etc/keydb/keydb-sentinel.post-down.d/00_example 4:4.0.2-3~
|
||||
rm_conffile /etc/keydb/keydb-sentinel.post-up.d/00_example 4:4.0.2-3~
|
||||
rm_conffile /etc/keydb/keydb-sentinel.pre-down.d/00_example 4:4.0.2-3~
|
||||
rm_conffile /etc/keydb/keydb-sentinel.pre-up.d/00_example 4:4.0.2-3~
|
||||
@@ -0,0 +1 @@
|
||||
debian/keydb-sentinel.1
|
||||
@@ -0,0 +1,24 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -eu
|
||||
|
||||
USER="keydb"
|
||||
GROUP="$USER"
|
||||
CONFFILE="/etc/keydb/sentinel.conf"
|
||||
|
||||
if [ "$1" = "configure" ]
|
||||
then
|
||||
if ! dpkg-statoverride --list ${CONFFILE} >/dev/null 2>&1
|
||||
then
|
||||
dpkg-statoverride --update --add ${USER} ${GROUP} 640 ${CONFFILE}
|
||||
fi
|
||||
fi
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
if [ "$1" = "configure" ]
|
||||
then
|
||||
find /etc/keydb -maxdepth 1 -type d -name 'keydb-sentinel.*.d' -empty -delete
|
||||
fi
|
||||
|
||||
exit 0
|
||||
@@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -eu
|
||||
|
||||
CONFFILE="/etc/keydb/sentinel.conf"
|
||||
|
||||
if [ "$1" = "purge" ]
|
||||
then
|
||||
dpkg-statoverride --remove ${CONFFILE} || test $? -eq 2
|
||||
fi
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
||||
@@ -0,0 +1,23 @@
|
||||
.TH KEYDB-SERVER 1 "August 17, 2019"
|
||||
.SH NAME
|
||||
keydb-server \- Persistent key-value database
|
||||
.SH SYNOPSIS
|
||||
.B keydb-server
|
||||
.RI configfile
|
||||
.SH DESCRIPTION
|
||||
KeyDB is a key-value database. It is similar to memcached but the dataset is
|
||||
not volatile and other datatypes (such as lists and sets) are natively
|
||||
supported.
|
||||
.PP
|
||||
.SH OPTIONS
|
||||
.IP "configfile"
|
||||
Read options from specified configuration file.
|
||||
.SH NOTES
|
||||
On Debian GNU/Linux systems, \fBkeydb-server\fP is typically started via the
|
||||
\fB/etc/init.d/keydb-server\fP initscript, not manually. This defaults to using
|
||||
\fB/etc/keydb/keydb.conf\fP as a configuration file.
|
||||
.SH AUTHOR
|
||||
\fBkeydb-server\fP was written by John Sully, originating as a fork of Redis. Redis was written by Salvatore Sanfilippo.
|
||||
.PP
|
||||
This manual page was written by Chris Lamb <lamby@debian.org> for the Debian
|
||||
project (but may be used by others). Modified by Ben Schermel <ben@eqalpha.com>
|
||||
Executable
+7
@@ -0,0 +1,7 @@
|
||||
# keydb-server configure options
|
||||
|
||||
# ULIMIT: Call ulimit -n with this argument prior to invoking Redis itself.
|
||||
# This may be required for high-concurrency environments. KeyDB itself cannot
|
||||
# alter its limits as it is not being run as root. (default: 65536)
|
||||
#
|
||||
ULIMIT=65536
|
||||
@@ -0,0 +1 @@
|
||||
README.md
|
||||
Executable
+89
@@ -0,0 +1,89 @@
|
||||
#! /bin/sh
|
||||
### BEGIN INIT INFO
|
||||
# Provides: keydb-server
|
||||
# Required-Start: $syslog $remote_fs
|
||||
# Required-Stop: $syslog $remote_fs
|
||||
# Should-Start: $local_fs
|
||||
# Should-Stop: $local_fs
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# Short-Description: keydb-server - Persistent key-value db
|
||||
# Description: keydb-server - Persistent key-value db
|
||||
### END INIT INFO
|
||||
|
||||
|
||||
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
||||
DAEMON=/usr/bin/keydb-server
|
||||
DAEMON_ARGS=/etc/keydb/keydb.conf
|
||||
NAME=keydb-server
|
||||
DESC=keydb-server
|
||||
|
||||
RUNDIR=/var/run/keydb
|
||||
PIDFILE=$RUNDIR/keydb-server.pid
|
||||
|
||||
test -x $DAEMON || exit 0
|
||||
|
||||
if [ -r /etc/default/$NAME ]
|
||||
then
|
||||
. /etc/default/$NAME
|
||||
fi
|
||||
|
||||
. /lib/lsb/init-functions
|
||||
|
||||
set -e
|
||||
|
||||
if [ "$(id -u)" != "0" ]
|
||||
then
|
||||
log_failure_msg "Must be run as root."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
echo -n "Starting $DESC: "
|
||||
mkdir -p $RUNDIR
|
||||
touch $PIDFILE
|
||||
chown keydb:keydb $RUNDIR $PIDFILE
|
||||
chmod 755 $RUNDIR
|
||||
|
||||
if [ -n "$ULIMIT" ]
|
||||
then
|
||||
ulimit -n $ULIMIT || true
|
||||
fi
|
||||
|
||||
if start-stop-daemon --start --quiet --oknodo --umask 007 --pidfile $PIDFILE --chuid keydb:keydb --exec $DAEMON -- $DAEMON_ARGS
|
||||
then
|
||||
echo "$NAME."
|
||||
else
|
||||
echo "failed"
|
||||
fi
|
||||
;;
|
||||
stop)
|
||||
echo -n "Stopping $DESC: "
|
||||
|
||||
if start-stop-daemon --stop --retry forever/TERM/1 --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON
|
||||
then
|
||||
echo "$NAME."
|
||||
else
|
||||
echo "failed"
|
||||
fi
|
||||
rm -f $PIDFILE
|
||||
sleep 1
|
||||
;;
|
||||
|
||||
restart|force-reload)
|
||||
${0} stop
|
||||
${0} start
|
||||
;;
|
||||
|
||||
status)
|
||||
status_of_proc -p ${PIDFILE} ${DAEMON} ${NAME}
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload|status}" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
@@ -0,0 +1,2 @@
|
||||
debian/keydb-server.service /lib/systemd/system
|
||||
pkg/deb/conf/keydb.conf /etc/keydb
|
||||
@@ -0,0 +1,7 @@
|
||||
/var/log/keydb/keydb-server*.log {
|
||||
weekly
|
||||
missingok
|
||||
rotate 12
|
||||
compress
|
||||
notifempty
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
rm_conffile /etc/keydb/keydb-server.post-down.d/00_example 4:4.0.2-3~
|
||||
rm_conffile /etc/keydb/keydb-server.post-up.d/00_example 4:4.0.2-3~
|
||||
rm_conffile /etc/keydb/keydb-server.pre-down.d/00_example 4:4.0.2-3~
|
||||
rm_conffile /etc/keydb/keydb-server.pre-up.d/00_example 4:4.0.2-3~
|
||||
@@ -0,0 +1 @@
|
||||
debian/keydb-server.1
|
||||
@@ -0,0 +1,24 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -eu
|
||||
|
||||
USER="keydb"
|
||||
GROUP="$USER"
|
||||
CONFFILE="/etc/keydb/keydb.conf"
|
||||
|
||||
if [ "$1" = "configure" ]
|
||||
then
|
||||
if ! dpkg-statoverride --list ${CONFFILE} >/dev/null 2>&1
|
||||
then
|
||||
dpkg-statoverride --update --add ${USER} ${GROUP} 640 ${CONFFILE}
|
||||
fi
|
||||
fi
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
if [ "$1" = "configure" ]
|
||||
then
|
||||
find /etc/keydb -maxdepth 1 -type d -name 'keydb-server.*.d' -empty -delete
|
||||
fi
|
||||
|
||||
exit 0
|
||||
@@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -eu
|
||||
|
||||
CONFFILE="/etc/keydb/keydb.conf"
|
||||
|
||||
if [ "${1}" = "purge" ]
|
||||
then
|
||||
dpkg-statoverride --remove ${CONFFILE} || test $? -eq 2
|
||||
fi
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
||||
@@ -0,0 +1,2 @@
|
||||
src/redis-trib.rb
|
||||
utils/lru
|
||||
@@ -0,0 +1,7 @@
|
||||
debian/bash_completion.d/* /usr/share/bash-completion/completions
|
||||
src/keydb-server /usr/bin
|
||||
src/keydb-benchmark /usr/bin
|
||||
src/keydb-check-aof /usr/bin
|
||||
src/keydb-check-rdb /usr/bin
|
||||
src/keydb-cli /usr/bin
|
||||
src/keydb-sentinel /usr/bin
|
||||
@@ -0,0 +1,4 @@
|
||||
debian/keydb-benchmark.1
|
||||
debian/keydb-check-aof.1
|
||||
debian/keydb-check-rdb.1
|
||||
debian/keydb-cli.1
|
||||
@@ -0,0 +1,47 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -eu
|
||||
|
||||
USER="keydb"
|
||||
|
||||
Setup_dir () {
|
||||
DIR="${1}"
|
||||
MODE="${2}"
|
||||
GROUP="${3}"
|
||||
|
||||
mkdir -p ${DIR}
|
||||
|
||||
case "${DIR}" in
|
||||
/var/log/keydb)
|
||||
MODE="02750"
|
||||
GROUP="adm"
|
||||
;;
|
||||
*)
|
||||
MODE="750"
|
||||
GROUP="${USER}"
|
||||
;;
|
||||
esac
|
||||
|
||||
if ! dpkg-statoverride --list ${DIR} >/dev/null 2>&1
|
||||
then
|
||||
chown ${USER}:${GROUP} ${DIR}
|
||||
chmod ${MODE} ${DIR}
|
||||
fi
|
||||
}
|
||||
|
||||
if [ "$1" = "configure" ]
|
||||
then
|
||||
adduser \
|
||||
--system \
|
||||
--home /var/lib/keydb \
|
||||
--quiet \
|
||||
--group \
|
||||
${USER} || true
|
||||
|
||||
Setup_dir /var/log/keydb ${USER}:adm 2750
|
||||
Setup_dir /var/lib/keydb ${USER}:${USER} 750
|
||||
fi
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
||||
@@ -0,0 +1,13 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -eu
|
||||
|
||||
if [ "${1}" = "purge" ]
|
||||
then
|
||||
userdel keydb || true
|
||||
rm -rf /var/lib/keydb /var/log/keydb
|
||||
fi
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
||||
@@ -0,0 +1,21 @@
|
||||
From: Chris Lamb <lamby@debian.org>
|
||||
Date: Fri, 30 Oct 2015 10:53:42 +0000
|
||||
Subject: fix-ftbfs-on-kfreebsd
|
||||
|
||||
---
|
||||
src/fmacros.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/fmacros.h b/src/fmacros.h
|
||||
index 6e56c75..d490aec 100644
|
||||
--- a/src/fmacros.h
|
||||
+++ b/src/fmacros.h
|
||||
@@ -41,7 +41,7 @@
|
||||
#define _ALL_SOURCE
|
||||
#endif
|
||||
|
||||
-#if defined(__linux__) || defined(__OpenBSD__)
|
||||
+#if defined(__linux__) || defined(__OpenBSD__) || defined(__GLIBC__)
|
||||
#define _XOPEN_SOURCE 700
|
||||
/*
|
||||
* On NetBSD, _XOPEN_SOURCE undefines _NETBSD_SOURCE and
|
||||
@@ -0,0 +1,84 @@
|
||||
From: Chris Lamb <lamby@debian.org>
|
||||
Date: Wed, 3 Oct 2018 19:24:16 +0100
|
||||
Subject: Add support for a USE_SYSTEM_HIREDIS flag.
|
||||
|
||||
---
|
||||
deps/Makefile | 2 ++
|
||||
src/Makefile | 19 ++++++++++++++-----
|
||||
2 files changed, 16 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/deps/Makefile b/deps/Makefile
|
||||
index 2ed7736..d6b8e3e 100644
|
||||
--- a/deps/Makefile
|
||||
+++ b/deps/Makefile
|
||||
@@ -33,7 +33,9 @@ ifneq ($(shell sh -c '[ -f .make-ldflags ] && cat .make-ldflags || echo none'),
|
||||
endif
|
||||
|
||||
distclean:
|
||||
+ifneq ($(USE_SYSTEM_HIREDIS),yes)
|
||||
-(cd hiredis && $(MAKE) clean) > /dev/null || true
|
||||
+endif
|
||||
-(cd linenoise && $(MAKE) clean) > /dev/null || true
|
||||
ifneq ($(USE_SYSTEM_LUA),yes)
|
||||
-(cd lua && $(MAKE) clean) > /dev/null || true
|
||||
diff --git a/src/Makefile b/src/Makefile
|
||||
index 49085f2..9e7e6f1 100644
|
||||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -16,7 +16,7 @@ release_hdr := $(shell sh -c './mkreleasehdr.sh')
|
||||
uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
|
||||
uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not')
|
||||
OPTIMIZATION?=-O2
|
||||
-DEPENDENCY_TARGETS=hiredis linenoise
|
||||
+DEPENDENCY_TARGETS=linenoise
|
||||
NODEPS:=clean distclean
|
||||
|
||||
# Default settings
|
||||
@@ -107,7 +107,7 @@ endif
|
||||
endif
|
||||
endif
|
||||
# Include paths to dependencies
|
||||
-FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise
|
||||
+FINAL_CFLAGS+= -I../deps/linenoise
|
||||
|
||||
ifeq ($(MALLOC),tcmalloc)
|
||||
FINAL_CFLAGS+= -DUSE_TCMALLOC
|
||||
@@ -139,6 +139,15 @@ else
|
||||
FINAL_LIBS := ../deps/lua/src/liblua.a $(FINAL_LIBS)
|
||||
endif
|
||||
|
||||
+ifeq ($(USE_SYSTEM_HIREDIS),yes)
|
||||
+ FINAL_LIBS+= -lhiredis
|
||||
+ FINAL_CFLAGS+= -I/usr/include/hiredis
|
||||
+else
|
||||
+ DEPENDENCY_TARGETS += hiredis
|
||||
+ FINAL_LIBS+= ../deps/hiredis/libhiredis.a
|
||||
+ FINAL_CFLAGS+= -I../deps/hiredis
|
||||
+endif
|
||||
+
|
||||
REDIS_CC=$(QUIET_CC)$(CC) $(FINAL_CFLAGS) $(CPPFLAGS)
|
||||
REDIS_LD=$(QUIET_LINK)$(CC) $(FINAL_LDFLAGS)
|
||||
REDIS_INSTALL=$(QUIET_INSTALL)$(INSTALL)
|
||||
@@ -210,7 +219,7 @@ endif
|
||||
|
||||
# redis-server
|
||||
$(REDIS_SERVER_NAME): $(REDIS_SERVER_OBJ)
|
||||
- $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a $(FINAL_LIBS)
|
||||
+ $(REDIS_LD) -o $@ $^ $(FINAL_LIBS)
|
||||
|
||||
# redis-sentinel
|
||||
$(REDIS_SENTINEL_NAME): $(REDIS_SERVER_NAME)
|
||||
@@ -226,11 +235,11 @@ $(REDIS_CHECK_AOF_NAME): $(REDIS_SERVER_NAME)
|
||||
|
||||
# redis-cli
|
||||
$(REDIS_CLI_NAME): $(REDIS_CLI_OBJ)
|
||||
- $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a ../deps/linenoise/linenoise.o $(FINAL_LIBS)
|
||||
+ $(REDIS_LD) -o $@ $^ ../deps/linenoise/linenoise.o $(FINAL_LIBS)
|
||||
|
||||
# redis-benchmark
|
||||
$(REDIS_BENCHMARK_NAME): $(REDIS_BENCHMARK_OBJ)
|
||||
- $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a $(FINAL_LIBS)
|
||||
+ $(REDIS_LD) -o $@ $^ $(FINAL_LIBS)
|
||||
|
||||
dict-benchmark: dict.c zmalloc.c sds.c siphash.c
|
||||
$(REDIS_CC) $(FINAL_CFLAGS) $^ -D DICT_BENCHMARK_MAIN -o $@ $(FINAL_LIBS)
|
||||
@@ -0,0 +1,107 @@
|
||||
From: Chris Lamb <lamby@debian.org>
|
||||
Date: Sat, 25 Aug 2018 17:52:13 +0200
|
||||
Subject: Add support for USE_SYSTEM_JEMALLOC flag.
|
||||
|
||||
https://github.com/antirez/redis/pull/5279
|
||||
---
|
||||
deps/Makefile | 2 ++
|
||||
src/Makefile | 5 +++++
|
||||
src/object.c | 5 +++++
|
||||
src/zmalloc.c | 10 ++++++++++
|
||||
src/zmalloc.h | 4 ++++
|
||||
5 files changed, 26 insertions(+)
|
||||
|
||||
diff --git a/deps/Makefile b/deps/Makefile
|
||||
index eb35c1e..1342fac 100644
|
||||
--- a/deps/Makefile
|
||||
+++ b/deps/Makefile
|
||||
@@ -36,7 +36,9 @@ distclean:
|
||||
-(cd hiredis && $(MAKE) clean) > /dev/null || true
|
||||
-(cd linenoise && $(MAKE) clean) > /dev/null || true
|
||||
-(cd lua && $(MAKE) clean) > /dev/null || true
|
||||
+ifneq ($(USE_SYSTEM_JEMALLOC),yes)
|
||||
-(cd jemalloc && [ -f Makefile ] && $(MAKE) distclean) > /dev/null || true
|
||||
+endif
|
||||
-(rm -f .make-*)
|
||||
|
||||
.PHONY: distclean
|
||||
diff --git a/src/Makefile b/src/Makefile
|
||||
index 0ff6e8b..51363fe 100644
|
||||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -120,10 +120,15 @@ ifeq ($(MALLOC),tcmalloc_minimal)
|
||||
endif
|
||||
|
||||
ifeq ($(MALLOC),jemalloc)
|
||||
+ifeq ($(USE_SYSTEM_JEMALLOC),yes)
|
||||
+ FINAL_CFLAGS+= -DUSE_JEMALLOC -I/usr/include/jemalloc/include
|
||||
+ FINAL_LIBS := -ljemalloc $(FINAL_LIBS)
|
||||
+else
|
||||
DEPENDENCY_TARGETS+= jemalloc
|
||||
FINAL_CFLAGS+= -DUSE_JEMALLOC -I../deps/jemalloc/include
|
||||
FINAL_LIBS := ../deps/jemalloc/lib/libjemalloc.a $(FINAL_LIBS)
|
||||
endif
|
||||
+endif
|
||||
|
||||
REDIS_CC=$(QUIET_CC)$(CC) $(FINAL_CFLAGS) $(CPPFLAGS)
|
||||
REDIS_LD=$(QUIET_LINK)$(CC) $(FINAL_LDFLAGS)
|
||||
diff --git a/src/object.c b/src/object.c
|
||||
index 6987e1e..e49c2c2 100644
|
||||
--- a/src/object.c
|
||||
+++ b/src/object.c
|
||||
@@ -36,6 +36,11 @@
|
||||
#define strtold(a,b) ((long double)strtod((a),(b)))
|
||||
#endif
|
||||
|
||||
+#if defined(USE_JEMALLOC) && (USE_SYSTEM_JEMALLOC == yes)
|
||||
+#define je_mallctl mallctl
|
||||
+#define je_malloc_stats_print malloc_stats_print
|
||||
+#endif
|
||||
+
|
||||
/* ===================== Creation and parsing of objects ==================== */
|
||||
|
||||
robj *createObject(int type, void *ptr) {
|
||||
diff --git a/src/zmalloc.c b/src/zmalloc.c
|
||||
index 2482f51..80e6571 100644
|
||||
--- a/src/zmalloc.c
|
||||
+++ b/src/zmalloc.c
|
||||
@@ -63,6 +63,15 @@ void zlibc_free(void *ptr) {
|
||||
#define realloc(ptr,size) tc_realloc(ptr,size)
|
||||
#define free(ptr) tc_free(ptr)
|
||||
#elif defined(USE_JEMALLOC)
|
||||
+#if USE_SYSTEM_JEMALLOC == yes
|
||||
+#define malloc(size) malloc(size)
|
||||
+#define calloc(count,size) calloc(count,size)
|
||||
+#define realloc(ptr,size) realloc(ptr,size)
|
||||
+#define free(ptr) free(ptr)
|
||||
+#define mallocx(size,flags) mallocx(size,flags)
|
||||
+#define dallocx(ptr,flags) dallocx(ptr,flags)
|
||||
+#define je_mallctl mallctl
|
||||
+#else
|
||||
#define malloc(size) je_malloc(size)
|
||||
#define calloc(count,size) je_calloc(count,size)
|
||||
#define realloc(ptr,size) je_realloc(ptr,size)
|
||||
@@ -70,6 +79,7 @@ void zlibc_free(void *ptr) {
|
||||
#define mallocx(size,flags) je_mallocx(size,flags)
|
||||
#define dallocx(ptr,flags) je_dallocx(ptr,flags)
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
#define update_zmalloc_stat_alloc(__n) do { \
|
||||
size_t _n = (__n); \
|
||||
diff --git a/src/zmalloc.h b/src/zmalloc.h
|
||||
index 6fb19b0..62ccf29 100644
|
||||
--- a/src/zmalloc.h
|
||||
+++ b/src/zmalloc.h
|
||||
@@ -50,7 +50,11 @@
|
||||
#include <jemalloc/jemalloc.h>
|
||||
#if (JEMALLOC_VERSION_MAJOR == 2 && JEMALLOC_VERSION_MINOR >= 1) || (JEMALLOC_VERSION_MAJOR > 2)
|
||||
#define HAVE_MALLOC_SIZE 1
|
||||
+#if USE_SYSTEM_JEMALLOC == yes
|
||||
+#define zmalloc_size(p) malloc_usable_size(p)
|
||||
+#else
|
||||
#define zmalloc_size(p) je_malloc_usable_size(p)
|
||||
+#endif
|
||||
#else
|
||||
#error "Newer version of jemalloc required"
|
||||
#endif
|
||||
@@ -0,0 +1,75 @@
|
||||
From: Chris Lamb <lamby@debian.org>
|
||||
Date: Wed, 24 Jan 2018 22:06:35 +1100
|
||||
Subject: Use get_current_dir_name over PATHMAX, etc.
|
||||
|
||||
---
|
||||
src/aof.c | 3 ++-
|
||||
src/rdb.c | 7 ++++---
|
||||
2 files changed, 6 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/aof.c b/src/aof.c
|
||||
index 9723fc3..cc89847 100644
|
||||
--- a/src/aof.c
|
||||
+++ b/src/aof.c
|
||||
@@ -246,7 +246,7 @@ int startAppendOnly(void) {
|
||||
newfd = open(server.aof_filename,O_WRONLY|O_APPEND|O_CREAT,0644);
|
||||
serverAssert(server.aof_state == AOF_OFF);
|
||||
if (newfd == -1) {
|
||||
- char *cwdp = getcwd(cwd,MAXPATHLEN);
|
||||
+ char *cwdp = get_current_dir_name();
|
||||
|
||||
serverLog(LL_WARNING,
|
||||
"Redis needs to enable the AOF but can't open the "
|
||||
@@ -254,6 +254,7 @@ int startAppendOnly(void) {
|
||||
server.aof_filename,
|
||||
cwdp ? cwdp : "unknown",
|
||||
strerror(errno));
|
||||
+ zfree(cwdp);
|
||||
return C_ERR;
|
||||
}
|
||||
if (server.rdb_child_pid != -1) {
|
||||
diff --git a/src/rdb.c b/src/rdb.c
|
||||
index 3e43cb4..6058160 100644
|
||||
--- a/src/rdb.c
|
||||
+++ b/src/rdb.c
|
||||
@@ -1218,7 +1218,6 @@ werr: /* Write error. */
|
||||
/* Save the DB on disk. Return C_ERR on error, C_OK on success. */
|
||||
int rdbSave(char *filename, rdbSaveInfo *rsi) {
|
||||
char tmpfile[256];
|
||||
- char cwd[MAXPATHLEN]; /* Current working dir path for error messages. */
|
||||
FILE *fp;
|
||||
rio rdb;
|
||||
int error = 0;
|
||||
@@ -1226,13 +1225,14 @@ int rdbSave(char *filename, rdbSaveInfo *rsi) {
|
||||
snprintf(tmpfile,256,"temp-%d.rdb", (int) getpid());
|
||||
fp = fopen(tmpfile,"w");
|
||||
if (!fp) {
|
||||
- char *cwdp = getcwd(cwd,MAXPATHLEN);
|
||||
+ char *cwdp = get_current_dir_name();
|
||||
serverLog(LL_WARNING,
|
||||
"Failed opening the RDB file %s (in server root dir %s) "
|
||||
"for saving: %s",
|
||||
filename,
|
||||
cwdp ? cwdp : "unknown",
|
||||
strerror(errno));
|
||||
+ zfree(cwdp);
|
||||
return C_ERR;
|
||||
}
|
||||
|
||||
@@ -1254,7 +1254,7 @@ int rdbSave(char *filename, rdbSaveInfo *rsi) {
|
||||
/* Use RENAME to make sure the DB file is changed atomically only
|
||||
* if the generate DB file is ok. */
|
||||
if (rename(tmpfile,filename) == -1) {
|
||||
- char *cwdp = getcwd(cwd,MAXPATHLEN);
|
||||
+ char *cwdp = get_current_dir_name();
|
||||
serverLog(LL_WARNING,
|
||||
"Error moving temp DB file %s on the final "
|
||||
"destination %s (in server root dir %s): %s",
|
||||
@@ -1262,6 +1262,7 @@ int rdbSave(char *filename, rdbSaveInfo *rsi) {
|
||||
filename,
|
||||
cwdp ? cwdp : "unknown",
|
||||
strerror(errno));
|
||||
+ zfree(cwdp);
|
||||
unlink(tmpfile);
|
||||
return C_ERR;
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
From: Chris Lamb <lamby@debian.org>
|
||||
Date: Sun, 26 Aug 2018 12:57:32 +0200
|
||||
Subject: Add support for a USE_SYSTEM_LUA flag.
|
||||
|
||||
https://github.com/antirez/redis/pull/5280
|
||||
---
|
||||
deps/Makefile | 2 ++
|
||||
src/Makefile | 15 ++++++++++++---
|
||||
2 files changed, 14 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/deps/Makefile b/deps/Makefile
|
||||
index 1342fac..2ed7736 100644
|
||||
--- a/deps/Makefile
|
||||
+++ b/deps/Makefile
|
||||
@@ -35,7 +35,9 @@ endif
|
||||
distclean:
|
||||
-(cd hiredis && $(MAKE) clean) > /dev/null || true
|
||||
-(cd linenoise && $(MAKE) clean) > /dev/null || true
|
||||
+ifneq ($(USE_SYSTEM_LUA),yes)
|
||||
-(cd lua && $(MAKE) clean) > /dev/null || true
|
||||
+endif
|
||||
ifneq ($(USE_SYSTEM_JEMALLOC),yes)
|
||||
-(cd jemalloc && [ -f Makefile ] && $(MAKE) distclean) > /dev/null || true
|
||||
endif
|
||||
diff --git a/src/Makefile b/src/Makefile
|
||||
index 51363fe..49085f2 100644
|
||||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -16,7 +16,7 @@ release_hdr := $(shell sh -c './mkreleasehdr.sh')
|
||||
uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
|
||||
uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not')
|
||||
OPTIMIZATION?=-O2
|
||||
-DEPENDENCY_TARGETS=hiredis linenoise lua
|
||||
+DEPENDENCY_TARGETS=hiredis linenoise
|
||||
NODEPS:=clean distclean
|
||||
|
||||
# Default settings
|
||||
@@ -107,7 +107,7 @@ endif
|
||||
endif
|
||||
endif
|
||||
# Include paths to dependencies
|
||||
-FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src
|
||||
+FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise
|
||||
|
||||
ifeq ($(MALLOC),tcmalloc)
|
||||
FINAL_CFLAGS+= -DUSE_TCMALLOC
|
||||
@@ -130,6 +130,15 @@ else
|
||||
endif
|
||||
endif
|
||||
|
||||
+ifeq ($(USE_SYSTEM_LUA),yes)
|
||||
+ FINAL_CFLAGS+= -I/usr/include/lua5.1
|
||||
+ FINAL_LIBS := -llua5.1 $(FINAL_LIBS)
|
||||
+else
|
||||
+ FINAL_CFLAGS+= -I../deps/lua/src
|
||||
+ DEPENDENCY_TARGETS+= lua
|
||||
+ FINAL_LIBS := ../deps/lua/src/liblua.a $(FINAL_LIBS)
|
||||
+endif
|
||||
+
|
||||
REDIS_CC=$(QUIET_CC)$(CC) $(FINAL_CFLAGS) $(CPPFLAGS)
|
||||
REDIS_LD=$(QUIET_LINK)$(CC) $(FINAL_LDFLAGS)
|
||||
REDIS_INSTALL=$(QUIET_INSTALL)$(INSTALL)
|
||||
@@ -201,7 +210,7 @@ endif
|
||||
|
||||
# redis-server
|
||||
$(REDIS_SERVER_NAME): $(REDIS_SERVER_OBJ)
|
||||
- $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a ../deps/lua/src/liblua.a $(FINAL_LIBS)
|
||||
+ $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a $(FINAL_LIBS)
|
||||
|
||||
# redis-sentinel
|
||||
$(REDIS_SENTINEL_NAME): $(REDIS_SERVER_NAME)
|
||||
@@ -0,0 +1,49 @@
|
||||
From: Chris Lamb <lamby@debian.org>
|
||||
Date: Fri, 30 Oct 2015 10:53:42 +0000
|
||||
Subject: Add CPPFLAGS in upstream makefiles
|
||||
|
||||
---
|
||||
deps/hiredis/Makefile | 2 +-
|
||||
deps/linenoise/Makefile | 2 +-
|
||||
src/Makefile | 2 +-
|
||||
3 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/deps/hiredis/Makefile b/deps/hiredis/Makefile
|
||||
index 9a4de83..4c8a8e4 100644
|
||||
--- a/deps/hiredis/Makefile
|
||||
+++ b/deps/hiredis/Makefile
|
||||
@@ -41,7 +41,7 @@ CXX:=$(shell sh -c 'type $(CXX) >/dev/null 2>/dev/null && echo $(CXX) || echo g+
|
||||
OPTIMIZATION?=-O3
|
||||
WARNINGS=-Wall -W -Wstrict-prototypes -Wwrite-strings
|
||||
DEBUG_FLAGS?= -g -ggdb
|
||||
-REAL_CFLAGS=$(OPTIMIZATION) -fPIC $(CFLAGS) $(WARNINGS) $(DEBUG_FLAGS) $(ARCH)
|
||||
+REAL_CFLAGS=$(OPTIMIZATION) -fPIC $(CFLAGS) $(WARNINGS) $(DEBUG_FLAGS) $(ARCH) $(CPPFLAGS)
|
||||
REAL_LDFLAGS=$(LDFLAGS) $(ARCH)
|
||||
|
||||
DYLIBSUFFIX=so
|
||||
diff --git a/deps/linenoise/Makefile b/deps/linenoise/Makefile
|
||||
index 1dd894b..12ada21 100644
|
||||
--- a/deps/linenoise/Makefile
|
||||
+++ b/deps/linenoise/Makefile
|
||||
@@ -6,7 +6,7 @@ R_CFLAGS= $(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS)
|
||||
R_LDFLAGS= $(LDFLAGS)
|
||||
DEBUG= -g
|
||||
|
||||
-R_CC=$(CC) $(R_CFLAGS)
|
||||
+R_CC=$(CC) $(R_CFLAGS) $(CPPFLAGS)
|
||||
R_LD=$(CC) $(R_LDFLAGS)
|
||||
|
||||
linenoise.o: linenoise.h linenoise.c
|
||||
diff --git a/src/Makefile b/src/Makefile
|
||||
index 773d3b2..0ff6e8b 100644
|
||||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -125,7 +125,7 @@ ifeq ($(MALLOC),jemalloc)
|
||||
FINAL_LIBS := ../deps/jemalloc/lib/libjemalloc.a $(FINAL_LIBS)
|
||||
endif
|
||||
|
||||
-REDIS_CC=$(QUIET_CC)$(CC) $(FINAL_CFLAGS)
|
||||
+REDIS_CC=$(QUIET_CC)$(CC) $(FINAL_CFLAGS) $(CPPFLAGS)
|
||||
REDIS_LD=$(QUIET_LINK)$(CC) $(FINAL_LDFLAGS)
|
||||
REDIS_INSTALL=$(QUIET_INSTALL)$(INSTALL)
|
||||
|
||||
+109
@@ -0,0 +1,109 @@
|
||||
From: Chris Lamb <lamby@debian.org>
|
||||
Date: Tue, 10 Oct 2017 09:56:42 +0100
|
||||
Subject: Set Debian configuration defaults.
|
||||
|
||||
---
|
||||
keydb.conf | 12 ++++++------
|
||||
sentinel.conf | 9 +++++----
|
||||
2 files changed, 11 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/keydb.conf b/keydb.conf
|
||||
index 93ab9a4..24e6c79 100644
|
||||
--- a/keydb.conf
|
||||
+++ b/keydb.conf
|
||||
@@ -66,7 +66,7 @@
|
||||
# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
|
||||
# JUST COMMENT THE FOLLOWING LINE.
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
-bind 127.0.0.1
|
||||
+bind 127.0.0.1 ::1
|
||||
|
||||
# Protected mode is a layer of security protection, in order to avoid that
|
||||
# keydb instances left open on the internet are accessed and exploited.
|
||||
@@ -106,7 +106,7 @@ tcp-backlog 511
|
||||
# incoming connections. There is no default, so keydb will not listen
|
||||
# on a unix socket when not specified.
|
||||
#
|
||||
-# unixsocket /tmp/keydb.sock
|
||||
+# unixsocket /var/run/keydb/keydb-server.sock
|
||||
# unixsocketperm 700
|
||||
|
||||
# Close the connection after a client is idle for N seconds (0 to disable)
|
||||
@@ -133,7 +133,7 @@ tcp-keepalive 300
|
||||
|
||||
# By default keydb does not run as a daemon. Use 'yes' if you need it.
|
||||
# Note that keydb will write a pid file in /var/run/keydb.pid when daemonized.
|
||||
-daemonize no
|
||||
+daemonize yes
|
||||
|
||||
# If you run keydb from upstart or systemd, keydb can interact with your
|
||||
# supervision tree. Options:
|
||||
@@ -155,7 +155,7 @@ supervised no
|
||||
#
|
||||
# Creating a pid file is best effort: if keydb is not able to create it
|
||||
# nothing bad happens, the server will start and run normally.
|
||||
-pidfile /var/run/keydb_6379.pid
|
||||
+pidfile /var/run/keydb/keydb-server.pid
|
||||
|
||||
# Specify the server verbosity level.
|
||||
# This can be one of:
|
||||
@@ -168,7 +168,7 @@ loglevel notice
|
||||
# Specify the log file name. Also the empty string can be used to force
|
||||
# keydb 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 ""
|
||||
+logfile /var/log/keydb/keydb-server.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.
|
||||
@@ -260,7 +260,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.
|
||||
-dir ./
|
||||
+dir /var/lib/keydb
|
||||
|
||||
################################# REPLICATION #################################
|
||||
|
||||
diff --git a/sentinel.conf b/sentinel.conf
|
||||
index bc9a705..58a4c84 100644
|
||||
--- a/sentinel.conf
|
||||
+++ b/sentinel.conf
|
||||
@@ -13,6 +13,7 @@
|
||||
# For example you may use one of the following:
|
||||
#
|
||||
# bind 127.0.0.1 192.168.1.1
|
||||
+bind 127.0.0.1 ::1
|
||||
#
|
||||
# protected-mode no
|
||||
|
||||
@@ -23,17 +24,17 @@ port 26379
|
||||
# By default keydb Sentinel does not run as a daemon. Use 'yes' if you need it.
|
||||
# Note that keydb will write a pid file in /var/run/keydb-sentinel.pid when
|
||||
# daemonized.
|
||||
-daemonize no
|
||||
+daemonize yes
|
||||
|
||||
# When running daemonized, keydb Sentinel writes a pid file in
|
||||
# /var/run/keydb-sentinel.pid by default. You can specify a custom pid file
|
||||
# location here.
|
||||
-pidfile /var/run/keydb-sentinel.pid
|
||||
+pidfile /var/run/sentinel/keydb-sentinel.pid
|
||||
|
||||
# Specify the log file name. Also the empty string can be used to force
|
||||
# Sentinel 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 ""
|
||||
+logfile /var/log/keydb/keydb-sentinel.log
|
||||
|
||||
# sentinel announce-ip <ip>
|
||||
# sentinel announce-port <port>
|
||||
@@ -62,7 +63,7 @@ logfile ""
|
||||
# For keydb Sentinel to chdir to /tmp at startup is the simplest thing
|
||||
# for the process to don't interfere with administrative tasks such as
|
||||
# unmounting filesystems.
|
||||
-dir /tmp
|
||||
+dir /var/lib/keydb
|
||||
|
||||
# sentinel monitor <master-name> <ip> <keydb-port> <quorum>
|
||||
#
|
||||
Loaded 100 of 243 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user