14523 Commits

Author SHA1 Message Date
John Sully
64cfb6df62 Sentinel doesn't need a license key
Former-commit-id: bc2d8c18255214b873bf45d8db8af3727ebc4723
2020-07-11 22:13:07 +00:00
John Sully
f771c0a7c8 Fix failure to replicate with non-pro server when license key is set
Former-commit-id: a69beef7d92223c8dcebb9c39ca2409183571e57
2020-07-11 22:09:27 +00:00
John Sully
6816bd1bbd Support missing Redis 6 config options
Former-commit-id: f111c234152fd47d21c8c95029bcb191641182a7
2020-07-11 21:39:20 +00:00
John Sully
daf3883481 Support missing Redis 6 config options
Former-commit-id: d467701c6cd8ebe2937c6fda816a706a6b17182a
2020-07-11 21:38:17 +00:00
John Sully
17661f2382 Implement storage key cache, and writeback memory model
Former-commit-id: 732bd9c153459f1174475ad67de36c399ddbe359
2020-07-11 21:23:48 +00:00
jimgreen2013
67660881ed
fix description about ziplist, the code is ok (#6318)
* fix description about ZIP_BIG_PREVLEN(the code is ok), it's similar to
antirez#4705

* fix description about ziplist entry encoding field (the code is ok),
the max length should be 2^32 - 1 when encoding is 5 bytes
2020-07-11 14:51:44 -05:00
杨博东
e9aba28932
STORE variants: SINTER,SUNION,SDIFF,ZUNION use setKey instead of dbDelete+dbAdd (#7489)
one of the differences (other than consistent code with SORT, GEORADIUS), is that the LFU of the old key is retained.
2020-07-11 15:52:41 +03:00
John Sully
a5f61b903b Eliminate eviction loops. And don't OOM so often with storage providers set
Former-commit-id: 6e61cd33b4366f008b07aae88f49fd0ac9cbcaec
2020-07-11 06:51:08 +00:00
John Sully
994dbb8f67 Eliminate eviction loops. And don't OOM so often with storage providers set
Former-commit-id: 189674aea74c483bf0869050ecf7bf2b0b49f34e
2020-07-11 04:23:35 +00:00
马永泽
279b4a1464
fix benchmark in cluster mode fails to authenticate (#7488)
Co-authored-by: Oran Agra <oran@redislabs.com> (styling)
2020-07-10 16:37:11 +03:00
Abhishek Soni
d5648d617e
fix: typo in CI job name (#7466) 2020-07-10 16:05:29 +03:00
Jiayuan Chen
af39d750cd
Fix typo in deps README (#7500) 2020-07-10 16:02:18 +03:00
WuYunlong
d792db7948
Add missing latency-monitor tcl test to test_helper.tcl. (#6782) 2020-07-10 11:41:48 +03:00
Yossi Gottlieb
3e6f2b1a45
TLS: Session caching configuration support. (#7420)
* TLS: Session caching configuration support.
* TLS: Remove redundant config initialization.
2020-07-10 11:33:47 +03:00
Yossi Gottlieb
5266293a0f
TLS: Ignore client cert when tls-auth-clients off. (#7457) 2020-07-10 10:32:21 +03:00
James Hilliard
6a014af79a
Use pkg-config to properly detect libssl and libcrypto libraries (#7452) 2020-07-10 10:30:09 +03:00
Yossi Gottlieb
d9f970d8d3
TLS: Add missing redis-cli options. (#7456)
* Tests: fix and reintroduce redis-cli tests.

These tests have been broken and disabled for 10 years now!

* TLS: add remaining redis-cli support.

This adds support for the redis-cli --pipe, --rdb and --replica options
previously unsupported in --tls mode.

* Fix writeConn().
2020-07-10 10:25:55 +03:00
Oran Agra
b23e251036 redis-cli --hotkeys fixed to handle non-printable key names 2020-07-10 10:07:47 +03:00
Oran Agra
6f8a8647de redis-cli --bigkeys fixed to handle non-printable key names 2020-07-10 10:07:47 +03:00
Oran Agra
5977a94842
RESTORE ABSTTL won't store expired keys into the db (#7472)
Similarly to EXPIREAT with TTL in the past, which implicitly deletes the
key and return success, RESTORE should not store key that are already
expired into the db.
When used together with REPLACE it should emit a DEL to keyspace
notification and replication stream.
2020-07-10 10:02:37 +03:00
huangzhw
d6180c8c86
defrag.c activeDefragSdsListAndDict when defrag sdsele, We can't use (#7492)
it to calculate hash, we should use newsds.
2020-07-10 08:29:44 +03:00
Oran Agra
909bc97c52
skip a test that uses +inf on valgrind (#7440)
On some platforms strtold("+inf") with valgrind returns a non-inf result

[err]: INCRBYFLOAT does not allow NaN or Infinity in tests/unit/type/incr.tcl
Expected 'ERR*would produce*' to equal or match '1189731495357231765085759.....'
2020-07-10 08:29:02 +03:00
Oran Agra
8e76e13472
stabilize tests that look for log lines (#7367)
tests were sensitive to additional log lines appearing in the log
causing the search to come empty handed.

instead of just looking for the n last log lines, capture the log lines
before performing the action, and then search from that offset.
2020-07-10 08:28:22 +03:00
Oran Agra
69ade87325
tests/valgrind: don't use debug restart (#7404)
* tests/valgrind: don't use debug restart

DEBUG REATART causes two issues:
1. it uses execve which replaces the original process and valgrind doesn't
   have a chance to check for errors, so leaks go unreported.
2. valgrind report invalid calls to close() which we're unable to resolve.

So now the tests use restart_server mechanism in the tests, that terminates
the old server and starts a new one, new PID, but same stdout, stderr.

since the stderr can contain two or more valgrind report, it is not enough
to just check for the absence of leaks, we also need to check for some known
errors, we do both, and fail if we either find an error, or can't find a
report saying there are no leaks.

other changes:
- when killing a server that was already terminated we check for leaks too.
- adding DEBUG LEAK which was used to test it.
- adding --trace-children to valgrind, although no longer needed.
- since the stdout contains two or more runs, we need slightly different way
  of checking if the new process is up (explicitly looking for the new PID)
- move the code that handles --wait-server to happen earlier (before
  watching the startup message in the log), and serve the restarted server too.

* squashme - CR fixes
2020-07-10 08:26:52 +03:00
Oran Agra
9bbf768d3c
change references to the github repo location (#7479) 2020-07-10 08:25:26 +03:00
zhaozhao.zz
1978f996d8
BITOP: propagate only when it really SET or DEL targetkey (#5783)
For example:
    BITOP not targetkey sourcekey

If targetkey and sourcekey doesn't exist, BITOP has no effect,
we do not propagate it, thus can save aof and replica flow.
2020-07-10 08:20:27 +03:00
John Sully
4e7027264f Bump version
Former-commit-id: ee5a281ed0012aca359b9448df5236bef719f4a7
2020-07-10 04:13:42 +00:00
John Sully
52123f9529 Merge branch 'keydbpro' into PRO_RELEASE_6
Former-commit-id: 243dcb3853cc965109cb24a940229db7844cdd11
2020-07-10 04:11:57 +00:00
John Sully
cce6183f07 Merge branch 'mvcc_scan' into keydbpro
Former-commit-id: f0a3f491b61a9bb7ee4ab86098958cb161b75f59
2020-07-10 03:44:20 +00:00
John Sully
f03b75b005 MVCC scan support filtering by type on the async thread
Former-commit-id: 14f8c0ff686b93976eead5fa6bf526c2eecb5ae0
2020-07-10 03:43:56 +00:00
John Sully
34482220af Fix issue where SCAN misses elements while snapshot is in flight
Former-commit-id: ce005d748ebf0e116d674a96f74d698d17394010
2020-07-10 01:43:51 +00:00
John Sully
3a9d008798 Disable MVCC GET, the overhead is not worth it
Former-commit-id: 8c7e1001e98be0d0e6fe0079fc9406d5d65366ff
2020-07-10 01:43:32 +00:00
John Sully
31fa3fc9f2 Fix issue where we fail to return all data
Former-commit-id: 7341c9ed14d13386a045afd6deda9c0db422cd5f
2020-07-10 00:18:10 +00:00
John Sully
6ca9dde027 Graceful shutdown running async jobs
Former-commit-id: 2ce5b94741d384b2dfd6d3b347fa1582cd45df8f
2020-07-10 00:17:39 +00:00
John Sully
7bd0edb970 Fix race in db iterators in scan
Former-commit-id: a6444870660c0d3f52cd7b1dc0b80223f0d58e70
2020-07-09 22:29:27 +00:00
John Sully
ecea6ffe67 Do actual filtering on the async thread
Former-commit-id: 64b17139b7b5ff55bb52f27dc6f91cb81adde031
2020-07-09 21:58:06 +00:00
John Sully
d3b72484e4 Initial scan implementation (not tested)
Former-commit-id: 0f3911d56e6878d91b6e3cacc7d637934ffe6099
2020-07-09 12:57:35 -04:00
John Sully
10585e4b3b Latency fixes
Former-commit-id: 6857c4c2085d3b0902d7b2ece66b3fe8828dd805
2020-07-01 21:59:38 -04:00
antirez
ad0a9df77a Update comment to clarify change in #7398. 2020-06-25 12:58:21 +02:00
Salvatore Sanfilippo
760021e677
Merge pull request #7398 from caiyuxinggg/work
cluster.c remove "if (nodeIsMaster(myself))" judgement before clusterSendFail in markNodeAsFailingIfNeeded, avoiding slave failover requires twice vote requests
2020-06-25 12:56:26 +02:00
Salvatore Sanfilippo
b2c86acd0a
Merge pull request #7426 from dnielsen/patch-1
updated copyright year to 2020
2020-06-25 12:36:37 +02:00
Muhammad Zahalqa
d28ef47458 replace memcpy with cctor on objects
Former-commit-id: 52897f8f9a882bcdbd1e8ede6bdf24e7435f5ce8
2020-06-24 23:20:59 -04:00
Muhammad Zahalqa
792bc57fdf unique lock used with cv.wait already owns mutex
Former-commit-id: 8bc70e9840222d11507af30a6db27210b16650a2
2020-06-24 23:18:53 -04:00
Muhammad Zahalqa
d4dfac4b6a Fix bug in condition_variabe.wait usage
consition variable wait should always be called with a locked mutex.
This code break the pre-conditions of using wait.


Former-commit-id: 5b81303f04580010f043e518a109b43971a63054
2020-06-24 23:18:53 -04:00
Muhammad Zahalqa
ca929bb9c1 fixes for robj_sharedptr
1. fix cases where null pointer might be accessed
2. make assignmnet op safe
3. make operator bool explicit (safe bool idiom)
4. make comparison operators symetric

fix robj_sharedptr use in rdb.cpp


Former-commit-id: ede524c0647c0875f1071978f26ff785c8d1183e
2020-06-24 23:18:27 -04:00
Muhammad Zahalqa
98abc0e47e aeCommand objects no need for memset and missing init of some memebers.
Former-commit-id: aeed09c34620e465b57f1d83553d259c4f6d892f
2020-06-24 23:15:29 -04:00
antirez
959cdb358b Merge branch 'unstable' of github.com:/antirez/redis into unstable 2020-06-24 09:09:59 +02:00
antirez
a5a3a7bbc6 LPOS: option FIRST renamed RANK. 2020-06-24 09:09:43 +02:00
benschermel
5ae8b8c5ec Merge branch 'keydbpro' into PRO_RELEASE_6
Former-commit-id: 6e9ec7ae3ca49a6054f012e567eb74307227c330
2020-06-24 00:34:35 -04:00
benschermel
979d1389a7 update deb changelog
Former-commit-id: 85fe16238fdb692067f77f631b0589366823ba34
2020-06-24 00:32:10 -04:00