11356 Commits

Author SHA1 Message Date
John Sully
6be6785b31 Merge branch 'unstable' into keydbpro
Former-commit-id: aca1a6605685811833729d746df85781177d5a78
2020-01-30 21:15:42 -05:00
John Sully
958b86ddbb RDB memory leaks
Former-commit-id: 6208118b133c7f4209fd0a55d2a75341407e3e2c
2020-01-30 17:57:10 -05:00
John Sully
a7b7040577 replication memory leaks
Former-commit-id: 73020b6a939f241ade7512d58a4ddf17f5a803c5
2020-01-30 17:56:24 -05:00
John Sully
4352a26a5b Fix memory leak in cron
Former-commit-id: a9667e84ad44a3f2c08df0d95caeb6364f3f3509
2020-01-30 17:55:48 -05:00
John Sully
0f459fca2e Merge branch 'redis_merge' into unstable
Former-commit-id: ab1524ff1a8290199bc5a88e2bd9623566866d6f
2020-01-30 16:05:40 -05:00
John Sully
e945cf0b1f Merge branch 'redis_merge' into keydb_pro_merge
Former-commit-id: 2a760ac3b2cf12e45a9db9d0c2efe6efc4dc2aed
2020-01-29 21:30:20 -05:00
John Sully
5c1a0410b9 TLS Thread Safety fixes
Former-commit-id: e98a5fc108c5448307a8cc38182c79263f01102a
2020-01-29 21:21:47 -05:00
John Sully
96c5ffdc86 fix leak in cron
Former-commit-id: c1f4e344bdaf21bc74fae6e1b0cb7fc1ce687e62
2020-01-29 19:03:18 -05:00
John Sully
074dda1d27 Merge branch 'redis_merge' into keydb_pro_merge
Former-commit-id: e4f455a991b468a7abea169e5672d3039a8645f9
2020-01-29 15:57:43 -05:00
John Sully
36f497a1a5 TLS compile fixes
Former-commit-id: 0516809832cf22557592d15f39d64162fcd5083d
2020-01-29 15:57:25 -05:00
John Sully
81b616bfbb Merge branch 'redis_merge' into keydb_pro_merge
Former-commit-id: e10d9de29059f42193560712991df0950eeef679
2020-01-29 13:43:45 -05:00
John Sully
9cd315e511 Fix active rep not merging on sync and add tests
Former-commit-id: fcb77d0431b195553eb1cd563286e5441f0c94cd
2020-01-29 13:26:04 -05:00
John Sully
14cf73deaa Merge KeyDB 6
Former-commit-id: 9129b98c12b0da856bbda3eb68b4ddc7530693c9
2020-01-29 12:55:23 -05:00
John Sully
9440c60954 Yet more multithreading fixes
Former-commit-id: 9f23062ebdf389f0c95e1f4ab22c36ca96060e1f
2020-01-28 21:42:55 -05:00
John Sully
5da19e0206 failure to post a function is not fatal unless we wrote part of a command (should be impossible)
Former-commit-id: e1c642a033ab0157a66571189e81817cb84fd421
2020-01-28 21:41:56 -05:00
John Sully
f31af3bacf CRON jobs were running half as often as required
Former-commit-id: 1069d0b4bf39818cbd72d0bcbd168769244cf18f
2020-01-28 21:40:40 -05:00
John Sully
e54be2c065 CRON jobs were running half as often as required
Former-commit-id: a8f758144b8d79f9816ede3ae86c5c2d5d7d10dd
2020-01-28 21:39:56 -05:00
John Sully
e9a66f6dcd Support C++14 and remove dependency on future standard 2a
Former-commit-id: 7ba1920069821bf369cae40926e0ac82923ad784
2020-01-28 19:06:33 -05:00
John Sully
8e7f3304b2 More threading fixes from merge
Former-commit-id: 4a980f4ddbebe3f62703aa3de67c93cdffb6b4b8
2020-01-28 17:54:00 -05:00
John Sully
e3b2ef962b reenable multithreading after merge
Former-commit-id: 9fbb9a551e83ddfc66894fba688dae7c9c3c7ae1
2020-01-27 19:59:04 -05:00
John Sully
8a86276a86 cron reliability
Former-commit-id: c24a7c03c207d5e6ad95ef8958c0cfb118c1b593
2020-01-27 18:31:02 -05:00
John Sully
7b9fe2217a fix expire test failures during overwrite
Former-commit-id: 5a8280d5772e5d185b8e4010b86f01752be5c9b5
2020-01-27 18:26:23 -05:00
John Sully
39378f982e Fix most tests (still some failures)
Former-commit-id: da83e841255487efe0e4b13d42b2dcc55a369838
2020-01-27 18:16:19 -05:00
John Sully
8e5fe97525 Merge remote-tracking branch 'redis/6.0' into redis_merge
Former-commit-id: ef9a3cadcf94326bf2f163db7698aad9a3c01690
2020-01-27 02:55:48 -05:00
John Sully
b7b8eb2ecb Missing cron files
Former-commit-id: c983d57f739cc9b4b8271a6d069fad1b5a9d3dad
2020-01-21 19:51:16 -05:00
John Sully
262b9a5d92 Initial implementation of the CRON command
Former-commit-id: 3204a39ada15ec33ac7926dc8b8f0e1875b99acb
2020-01-21 19:50:28 -05:00
John Sully
f412fff0c6 Fix build break for X64
Former-commit-id: 76590fdce3ccf7bf3124832f6034c31caf7a8269
2020-01-12 01:28:30 -05:00
John Sully
d2e3836dd9 Merge branch 'keydbpro' of https://github.com/JohnSully/KeyDB-Pro into keydbpro
Former-commit-id: 4f39ca139f15a5f585f829937a46a56f20644db0
2020-01-12 01:27:22 -05:00
John Sully
1a70e322dd Fix snapshot consolidation bugs and reduce log noise
Former-commit-id: 7f3cb2981529277d3f02dceb2f60e7aa8385847d
2020-01-12 01:22:44 -05:00
John Sully
bddcdd856e remove debug printfs
Former-commit-id: 3dbd455321e4a2ee47a24662e164eac0e5614965
2020-01-12 01:20:52 -05:00
John Sully
7a6085742d Merge branch 'moar_perf' into keydbpro_moarperf
Former-commit-id: d0990a465c3c5c29b71f239d84a875af40699281
2020-01-11 22:06:20 -05:00
John Sully
4360d1ab3d Avoid locking as late as possible
Former-commit-id: acc894fe41d4e8869f28928cb0feffa1792c11c4
2020-01-11 19:28:13 -05:00
John Sully
ac55fe6dac Merge branch 'unstable' of https://github.com/JohnSully/KeyDB into unstable
Former-commit-id: 762396d997b4e155778ba62346376b37b4673154
2020-01-11 16:35:06 -05:00
John Sully
74fcfc0b7f Avoid crash due to excessive posted functions for AOF rewrite
Former-commit-id: aa6409f2e8a37288eb4953fbcf3a82e02545348b
2020-01-11 16:34:09 -05:00
John Sully
831528e8e4 Ignore other flags after pro is enabled since we won't understand them
Former-commit-id: 049b48ef79fdde4c9b1c9f227a329bd9223e2b1d
2020-01-10 17:46:02 -05:00
John Sully
8a52788844 Update README.md
Former-commit-id: 0ba0a6ab0a2c552e17a4344f9935b40f26c694e1
2020-01-10 14:21:11 -05:00
John Sully
ce7dd77830 Update graphs
Former-commit-id: 7475ea1b0b7d8b2f7a8dfb6c6b754126d5160e5b
2020-01-10 14:19:44 -05:00
ShooterIT
7bbafc5639 Rename rdb asynchronously 2020-01-10 13:16:25 +01:00
Leo Murillo
c7f752667e Fix bug on KEYS command where pattern starts with * followed by \x00 (null char). 2020-01-10 13:16:25 +01:00
Jamie Scott
ed7ea13a2a Update to directive in redis.conf (missing s)
The directive tls-prefer-server-cipher is actually tls-prefer-server-ciphers in config.c. This results in a failed directive call shown below. This pull request adds the "s" in ciphers so that the directive is able to be properly called in config.c

ubuntu@ip-172-31-16-31:~/redis$ src/redis-server ./redis.conf 

*** FATAL CONFIG FILE ERROR ***
Reading the configuration file, at line 200
>>> 'tls-prefer-server-cipher yes'
Bad directive or wrong number of arguments
2020-01-10 13:16:25 +01:00
antirez
3be7762388 Free fakeclient argv on AOF error.
We exit later, so no bug fixed, but it is more correct.

See #6054, thanks to @ShooterIT for finding the issue.
2020-01-10 13:16:25 +01:00
antirez
15f6b74814 Git ignore: ignore more files. 2020-01-10 13:16:14 +01:00
Guy Benoish
1b5bf40c20 Blocking XREAD[GROUP] should always reply with valid data (or timeout)
This commit solves the following bug:
127.0.0.1:6379> XGROUP CREATE x grp $ MKSTREAM
OK
127.0.0.1:6379> XADD x 666 f v
"666-0"
127.0.0.1:6379> XREADGROUP GROUP grp Alice BLOCK 0 STREAMS x >
1) 1) "x"
   2) 1) 1) "666-0"
         2) 1) "f"
            2) "v"
127.0.0.1:6379> XADD x 667 f v
"667-0"
127.0.0.1:6379> XDEL x 667
(integer) 1
127.0.0.1:6379> XREADGROUP GROUP grp Alice BLOCK 0 STREAMS x >
1) 1) "x"
   2) (empty array)

The root cause is that we use s->last_id in streamCompareID
while we should use the last *valid* ID
2020-01-10 13:16:14 +01:00
John Sully
954c20edd9 Add support for incremental build with header files 2020-01-10 13:16:14 +01:00
WuYunlong
11c3afd711 Fix petential cluster link error.
Funcion adjustOpenFilesLimit() has an implicit parameter, which is server.maxclients.
This function aims to ajust maximum file descriptor number according to server.maxclients
by best effort, which is "bestlimit" could be lower than "maxfiles" but greater than "oldlimit".
When we try to increase "maxclients" using CONFIG SET command, we could increase maximum
file descriptor number to a bigger value without calling aeResizeSetSize the same time.
When later more and more clients connect to server, the allocated fd could be bigger and bigger,
and eventually exceeds events size of aeEventLoop.events. When new nodes joins the cluster,
new link is created, together with new fd, but when calling aeCreateFileEvent, we did not
check the return value. In this case, we have a non-null "link" but the associated fd is not
registered.

So when we dynamically set "maxclients" we could reach an inconsistency between maximum file
descriptor number of the process and server.maxclients. And later could cause cluster link and link
fd inconsistency.

While setting "maxclients" dynamically, we consider it as failed when resulting "maxclients" is not
the same as expected. We try to restore back the maximum file descriptor number when we failed to set
"maxclients" to the specified value, so that server.maxclients could act as a guard as before.
2020-01-10 13:16:14 +01:00
Yossi Gottlieb
b752e83db5 Add REDISMODULE_CTX_FLAGS_MULTI_DIRTY. 2020-01-10 13:16:03 +01:00
hwware
e16eb87465 typo fix in acl.c 2020-01-10 13:16:03 +01:00
Itamar Haber
35ea9d231b Adjusts 'io_threads_num' max to 128
Instead of 512, use the defined max from networking.c
2020-01-10 13:16:03 +01:00
antirez
3872912679 XCLAIM: Create the consumer only on successful claims.
Fixes #6744.
2020-01-08 12:31:39 +01:00
yz1509
b9a1530345 avoid sentinel changes promoted_slave to be its own replica. 2020-01-08 12:31:25 +01:00