12492 Commits

Author SHA1 Message Date
chenhui0212
1c733df3d8 fix comments in listpack.c
(cherry picked from commit 6b82471098a03babcd9cd9a2ff63ba0d138a4279)
2020-07-20 21:08:26 +03:00
antirez
7412dbbef5 Use cluster connections too, to limit maxclients.
See #7401.

(cherry picked from commit fc08cafdb0e7f86ddd4ededfed87026b02f8447d)
2020-07-20 21:08:26 +03:00
antirez
d5515331e2 Tracking: fix enableBcastTrackingForPrefix() invalid sdslen() call.
Related to #7387.

(cherry picked from commit ae770c30349cb4c72393f3b70318371081f3cc65)
2020-07-20 21:08:26 +03:00
root
09e960ff62 cluster.c remove if of clusterSendFail in markNodeAsFailingIfNeeded
(cherry picked from commit 009a2d443a92f30e0f45ade08ce6fea275a5d71f)
2020-07-20 21:08:26 +03:00
meir@redislabs.com
cb06a48ef3 Fix RM_ScanKey module api not to return int encoded strings
The scan key module API provides the scan callback with the current
field name and value (if it exists). Those arguments are RedisModuleString*
which means it supposes to point to robj which is encoded as a string.
Using createStringObjectFromLongLong function might return robj that
points to an integer and so break a module that tries for example to
use RedisModule_StringPtrLen on the given field/value.

The PR introduces a fix that uses the createObject function and sdsfromlonglong function.
Using those function promise that the field and value pass to the to the
scan callback will be Strings.

The PR also changes the Scan test module to use RedisModule_StringPtrLen
to catch the issue. without this, the issue is hidden because
RedisModule_ReplyWithString knows to handle integer encoding of the
given robj (RedisModuleString).

The PR also introduces a new test to verify the issue is solved.

(cherry picked from commit e37c16e42551a3a5c61e1f8a90cfc672d3e010e4)
2020-07-20 21:08:26 +03:00
antirez
9d3e874179 Fix LCS object type checking. Related to #7379.
(cherry picked from commit 00e1f87a08f7e0f2e1706a8f937671b83dc63f12)
2020-07-20 21:08:26 +03:00
hwware
3dbde34323 fix memory leak
(cherry picked from commit 8ab655bd7b92f4cc310cdfbf974c6c8627446628)
2020-07-20 21:08:26 +03:00
hwware
4a03e1e1f8 fix server crash in STRALGO command
(cherry picked from commit 44195a2047efbe4db1b37365bd4ed66ba0f9d306)
2020-07-20 21:08:26 +03:00
Benjamin Sergeant
2f9da08ead Update redis-cli.c
(cherry picked from commit 52a477c661beabb3308767a442178824579be912)
2020-07-20 21:08:26 +03:00
Jamie Scott
333f763693 minor fix
(cherry picked from commit 3ba9724d1637aad9699d652b150ad7860b7016d0)
2020-07-20 21:08:26 +03:00
zhaozhao.zz
57fbe4cbaf replication: need handle -NOPERM error after send ping (#7538) 2020-07-20 22:21:55 +08:00
WuYunlong
a06d7eda9a Fix cluster redirect for module command with no firstkey. (#7539)
Before this commit, processCommand() did not notice that cmd could be a module command
which declared `getkeys-api` and handled it for the purpose of cluster redirect it
as if it doesn't use any keys.

This commit fixed it by reusing the codes in addReplyCommand().
2020-07-20 15:33:06 +03:00
Oran Agra
363347830b Run daily CI on PRs to release a branch (#7535) 2020-07-20 13:57:54 +03:00
WuYunlong
6efda6a476 Refactor streamAppendItem() by deleting redundancy condition. (#7487)
It will never happen that "lp != NULL && lp_bytes >= server.stream_node_max_bytes".
Assume that "lp != NULL && lp_bytes >= server.stream_node_max_bytes",
we got the following conditions:
a. lp != NULL
b. lp_bytes >= server.stream_node_max_bytes

If server.stream_node_max_bytes is 0, given condition a, condition b is always satisfied
If server.stream_node_max_bytes is not 0, given condition a and condition b, the codes just a
	few lines above set lp to NULL, a controdiction with condition a

So that condition b is recundant. We could delete it safely.
2020-07-20 13:14:27 +03:00
Scott Brenner
c7644eda71 GitHub Actions workflows - use latest version of actions/checkout (#7534) 2020-07-20 09:22:24 +03:00
Itamar Haber
f827ed388d Merge pull request #7529 from itamarhaber/stable-sha256sum
Adds SHA256SUM to redis-stable tarball upload
2020-07-17 15:20:54 +03:00
John Sully
6ec308c30f Fix memory leak in MVCC scan
Former-commit-id: 3acf80f8dd5ebc311670398745ef3400333a1fcb
2020-07-16 22:42:24 +00:00
Itamar Haber
efb04ab4a2 Adds SHA256SUM to redis-stable tarball upload 2020-07-16 21:31:36 +03:00
Itamar Haber
9cbf4056a3 Adds GitHub issue templates (#7468)
Co-authored-by: Oran Agra <oran@redislabs.com>
Co-authored-by: yoav-steinberg <yoav@monfort.co.il>
2020-07-16 21:01:27 +03:00
yoav-steinberg
8a2b0472a7 Support passing stack allocated module strings to moduleCreateArgvFromUserFormat (#7528)
Specifically, the key passed to the module aof_rewrite callback is a stack allocated robj. When passing it to RedisModule_EmitAOF (with appropriate "s" fmt string) redis used to panic when trying to inc the ref count of the stack allocated robj. Now support such robjs by coying them to a new heap robj. This doesn't affect performance because using the alternative "c" or "b" format strings also copies the input to a new heap robj.
2020-07-16 20:59:38 +03:00
杨博东
2028ad5a12 Stream avoid duplicate parse id (#7450) 2020-07-16 08:57:27 +03:00
Luke Palmer
df4c74ef07 Send null for invalidate on flush (#7469) 2020-07-15 10:53:41 -07:00
dmurnane
c292d43fec Notify systemd on sentinel startup (#7168)
Co-authored-by: Daniel Murnane <dmurnane@eitccorp.com>
2020-07-15 13:29:26 +03:00
Developer-Ecosystem-Engineering
004479c184 Add registers dump support for Apple silicon (#7453)
Export following environment variables before building on macOS on Apple silicon

export ARCH_FLAGS="-arch arm64"
export SDK_NAME=macosx
export SDK_PATH=$(xcrun --show-sdk-path --sdk $SDK_NAME)
export CFLAGS="$ARCH_FLAGS -isysroot $SDK_PATH -I$SDK_PATH/usr/include"
export CXXFLAGS=$CFLAGS
export LDFLAGS="$ARCH_FLAGS"
export CC="$(xcrun -sdk $SDK_PATH --find clang) $CFLAGS"
export CXX="$(xcrun -sdk $SDK_PATH --find clang++) $CXXFLAGS"
export LD="$(xcrun -sdk $SDK_PATH --find ld) $LDFLAGS"

make
make test
..
All tests passed without errors!

Backtrack logging assumes x86 and required updating
2020-07-15 12:44:03 +03:00
Wen Hui
6c5f98b24b correct error msg for num connections reaching maxclients in cluster mode (#7444) 2020-07-15 12:38:47 +03:00
WuYunlong
e5166eccee Fix command help for unexpected options (#7476) 2020-07-15 12:38:22 +03:00
WuYunlong
7da8c062d5 Refactor RM_KeyType() by using macro. (#7486) 2020-07-15 12:37:44 +03:00
Oran Agra
a3df709234 diskless master disconnect replicas when rdb child failed (#7518)
in case the rdb child failed, crashed or terminated unexpectedly redis
would have marked the replica clients with repl_put_online_on_ack and
then kill them only after a minute when no ack was received.

it would not stream anything to these connections, so the only effect of
this bug is a delay of 1 minute in the replicas attempt to re-connect.
2020-07-14 20:21:59 +03:00
Oran Agra
8a14ce8634 redis-cli tests, fix valgrind timing issue (#7519)
this test when run with valgrind on github actions takes 160 seconds
2020-07-14 18:04:08 +03:00
WuYunlong
24b6f62741 Fix out of update help info in tcl tests. (#7516)
Before this commit, the output of "./runtest-cluster --help" is incorrect.
After this commit, the format of the following 3 output is consistent:
./runtest --help
./runtest-cluster --help
./runtest-sentinel --help
2020-07-14 11:35:04 +03:00
John Sully
658ebaa454 Fix test failure
Former-commit-id: 05d84f5fc184676d32c4bb61ac5957f1787cd4f8
2020-07-14 04:34:40 +00:00
John Sully
9112445059 Add new storage-provider-options config
Former-commit-id: 195a28beecc6094f959ddafef7fe33f5b55e4047
2020-07-14 04:24:46 +00:00
John Sully
198db651d2 Remove gitter, we don't check it often enough
Former-commit-id: 119797014c09c9330e473b904f98353b32d549ab
2020-07-13 21:14:03 -04:00
John Sully
731de57fb7 Merge branch 'keydbpro' of https://github.com/JohnSully/KeyDB-Pro into keydbpro
Former-commit-id: 7ce91d858f298d6172df7152fcf49188ca8251f3
2020-07-13 18:15:15 +00:00
John Sully
503ca68e8c Perf fixes on expire lock
Former-commit-id: 7f23ac087720317f54a0bc0e0c4774e7b0ef4337
2020-07-13 18:14:52 +00:00
John Sully
ad5ad52841 Build fixes from cherry-pick
Former-commit-id: 70efd87cf71bb230e8b53d1c4ed3dd91997b4d23
2020-07-13 16:09:03 +00:00
John Sully
af10f809b4 unoredered_map is faster, reduce latency with the switch
Former-commit-id: f241e435ed0fd2988ada887f02e19884fd82be51
2020-07-13 16:04:00 +00:00
John Sully
fc119b3e56 Remove unnecessary work from critical path (Latency Fixes)
Former-commit-id: 096a90deb7afe489875d3186f3f8f43e41fea329
2020-07-13 16:03:52 +00:00
Qu Chen
a517043c7a Replica always reports master's config epoch in CLUSTER NODES output. (#7235) 2020-07-13 07:16:06 -07:00
Oran Agra
c10eabeeca RESTORE ABSTTL skip expired keys - leak (#7511) 2020-07-13 16:40:19 +03:00
Oran Agra
663e637da8 fix recently added time sensitive tests failing with valgrind (#7512)
interestingly the latency monitor test fails because valgrind is slow
enough so that the time inside PEXPIREAT command from the moment of
the first mstime() call to get the basetime until checkAlreadyExpired
calls mstime() again is more than 1ms, and that test was too sensitive.

using this opportunity to speed up the test (unrelated to the failure)
the fix is just the longer time passed to PEXPIRE.
2020-07-13 16:40:03 +03:00
Oran Agra
3351549c22 runtest --stop pause stops before terminating the redis server (#7513)
in the majority of the cases (on this rarely used feature) we want to
stop and be able to connect to the shard with redis-cli.
since these are two different processes interracting with the tty we
need to stop both, and we'll have to hit enter twice, but it's not that
bad considering it is rarely used.
2020-07-13 16:09:08 +03:00
benschermel
2cbf586ec7 update deb changelog
Former-commit-id: a6782a3c0d35690d0a68da3e1decf1be723d01fd
2020-07-13 01:35:25 -04:00
John Sully
7ed6e1a197 Bump version
Former-commit-id: f7d7baccc91d3c39fb6ff7ba04c57208522b6583
2020-07-13 03:59:16 +00:00
John Sully
414b3102ca Merge branch 'flash_cache' into keydbpro
Former-commit-id: 2a721ef645921d62b39f1374c0a3f5c92b00fae5
2020-07-13 03:53:34 +00:00
John Sully
8c2c0fba12 Merge branch 'PRO_RELEASE_6' into keydbpro
Former-commit-id: bffe010ea5279bee869bc61cc6d933979e10bbea
2020-07-13 03:32:14 +00:00
John Sully
f17dab1f67 Merge branch 'unstable' into keydbpro
Former-commit-id: 0dafbc254a0efd5ee302d5c58fb2ca0a85110104
2020-07-13 03:31:47 +00:00
John Sully
7ace525b7b Merge branch 'unstable' into RELEASE_6
Former-commit-id: eff294e374d4ce0f6258eba6f9b74821a8aa1d9b
2020-07-13 01:05:36 +00:00
John Sully
6f8e9a64fa Merge branch 'unstable' of https://github.com/JohnSully/KeyDB into unstable
Former-commit-id: e8f568644b88a0f47eee94f6b97d29270014a52d
2020-07-13 01:05:17 +00:00
John Sully
7f36b5541e Merge branch 'unstable' into RELEASE_6
Former-commit-id: f7c2006bf69d6c22f6998327ce8e9746b3b9023c
2020-07-13 01:04:49 +00:00