12492 Commits

Author SHA1 Message Date
John Sully
84bf240caa Merge tag '6.0.5' into unstable
Redis 6.0.5


Former-commit-id: b736a95b0d23e4b73daa88c676b76d1d18e8bd17
2020-07-13 00:55:23 +00:00
benschermel
ed77abee5e update rpm permissions
Former-commit-id: 7aec1e5c6463ea77d27833c66e124e8184c4a123
2020-07-12 18:08:29 -04:00
benschermel
76426c3172 Merge branch 'unstable' of https://github.com/JohnSully/KeyDB into unstable
Former-commit-id: d909d12cb35c1700a54bd9029346da81cb453235
2020-07-12 18:04:40 -04:00
benschermel
6c48ba994e update rpm permissions
Former-commit-id: 201ffa9d6228c42f3c55e058fe99a72f06a7a1b7
2020-07-12 18:03:21 -04:00
John Sully
70824b3bdb Add the KEYDB.MEXISTS command, see issue #203
Former-commit-id: 5619f515285b08d9c443425de1f3092ae3058d40
2020-07-12 21:42:11 +00:00
John Sully
f853142083 Add multi-master-no-forward command to reduce bus traffic with multi-master
Former-commit-id: d99d06b1250a51ea4bc54f678f451acbb7901e33
2020-07-12 19:25:19 +00:00
John Sully
c6e5ba8313 Document min-clients-per-thread
Former-commit-id: 1b9ade7f657d9b142f78a46565e65b52904dad47
2020-07-12 18:49:02 +00:00
John Sully
6158cdfd29 Prevent deadlock in RM_ThreadSafeContextLock() when triggered as part of a module callback in a server thread
Former-commit-id: e01312642be3cc78e7b383dee958a9b5c0ffc103
2020-07-12 18:17:53 +00:00
Oran Agra
2ee300481f update release scripts for new hosts, and CI to run more tests (#7480)
* update daily CI to include cluster and sentinel tests
* update daily CI to run when creating a new release
* update release scripts to work on the new redis.io hosts
2020-07-12 13:55:26 +03:00
John Sully
3eca9ea38d Fix CLI crash on arch with hostname
Former-commit-id: 55fd37e8d6c3775d0b1bd13966ca033f63945d7e
2020-07-12 05:38:08 +00:00
John Sully
336ee77691 Fix CLI crash on arch with hostname
Former-commit-id: a5b584d7d36c60cbbcf815572229b6c80a3a3dce
2020-07-12 05:37:43 +00:00
John Sully
dedfe2d63c Fix failure to replicate with license key
Former-commit-id: d34723c567b36f8222c93fac6f0ed1f79104f33e
2020-07-12 05:15:22 +00:00
John Sully
6c66fef004 Fix failure to replicate with license key
Former-commit-id: 41a72a795ade90b1aea509e9e3ebad819a997acf
2020-07-12 05:14:59 +00:00
John Sully
785779ee40 Fix failure to merge databases on active replica sync, due to bad merge with Redis 6
Former-commit-id: cd9514f4c8624932df2ec60ae3c2244899844aa6
2020-07-12 01:13:22 +00:00
John Sully
d1a03fcd62 Merge branch 'keydbpro' into PRO_RELEASE_6
Former-commit-id: 507b791211b4b0c3251dc538fa385cd95a189e80
2020-07-11 22:27:32 +00:00
John Sully
ead6e22865 Add KeyDB Pro info section
Former-commit-id: d73015fae36ece6db7b088cc55843385688b1866
2020-07-11 22:21:12 +00:00
John Sully
074cb1edc1 Sentinel doesn't need a license key
Former-commit-id: bc2d8c18255214b873bf45d8db8af3727ebc4723
2020-07-11 22:13:07 +00:00
John Sully
06a8e2aa2a 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
3af243a447 Support missing Redis 6 config options
Former-commit-id: f111c234152fd47d21c8c95029bcb191641182a7
2020-07-11 21:39:20 +00:00
John Sully
4b58160c61 Support missing Redis 6 config options
Former-commit-id: d467701c6cd8ebe2937c6fda816a706a6b17182a
2020-07-11 21:38:17 +00:00
John Sully
d67265de66 Implement storage key cache, and writeback memory model
Former-commit-id: 732bd9c153459f1174475ad67de36c399ddbe359
2020-07-11 21:23:48 +00:00
jimgreen2013
c05d8a0a31 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
杨博东
a4b4df5fe6 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
6912b10aed 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
a3cf9ce109 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
马永泽
40e930dab5 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
6d8fa206bb fix: typo in CI job name (#7466) 2020-07-10 16:05:29 +03:00
Jiayuan Chen
f8c6c32178 Fix typo in deps README (#7500) 2020-07-10 16:02:18 +03:00
WuYunlong
136e5efeab Add missing latency-monitor tcl test to test_helper.tcl. (#6782) 2020-07-10 11:41:48 +03:00
Yossi Gottlieb
c611a836f6 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
6dfbccc212 TLS: Ignore client cert when tls-auth-clients off. (#7457) 2020-07-10 10:32:21 +03:00
James Hilliard
5f16b65a5f Use pkg-config to properly detect libssl and libcrypto libraries (#7452) 2020-07-10 10:30:09 +03:00
Yossi Gottlieb
99b920534f 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
a11940b112 redis-cli --hotkeys fixed to handle non-printable key names 2020-07-10 10:07:47 +03:00
Oran Agra
3d760eaea2 redis-cli --bigkeys fixed to handle non-printable key names 2020-07-10 10:07:47 +03:00
Oran Agra
1c35f8741b 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
84bef6691b 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
6b53c630d9 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
efc4189b62 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
8d4f055e43 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
8df9882075 change references to the github repo location (#7479) 2020-07-10 08:25:26 +03:00
zhaozhao.zz
2cf11ce5ca 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
8256661b7a Bump version
Former-commit-id: ee5a281ed0012aca359b9448df5236bef719f4a7
2020-07-10 04:13:42 +00:00
John Sully
2cc88a96ab Merge branch 'keydbpro' into PRO_RELEASE_6
Former-commit-id: 243dcb3853cc965109cb24a940229db7844cdd11
2020-07-10 04:11:57 +00:00
John Sully
dab9d8d90b Merge branch 'mvcc_scan' into keydbpro
Former-commit-id: f0a3f491b61a9bb7ee4ab86098958cb161b75f59
2020-07-10 03:44:20 +00:00
John Sully
2192c97d35 MVCC scan support filtering by type on the async thread
Former-commit-id: 14f8c0ff686b93976eead5fa6bf526c2eecb5ae0
2020-07-10 03:43:56 +00:00
John Sully
3692771457 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
1fef6c42b7 Disable MVCC GET, the overhead is not worth it
Former-commit-id: 8c7e1001e98be0d0e6fe0079fc9406d5d65366ff
2020-07-10 01:43:32 +00:00
John Sully
4ec5c3eb31 Fix issue where we fail to return all data
Former-commit-id: 7341c9ed14d13386a045afd6deda9c0db422cd5f
2020-07-10 00:18:10 +00:00
John Sully
2db9eef2b1 Graceful shutdown running async jobs
Former-commit-id: 2ce5b94741d384b2dfd6d3b347fa1582cd45df8f
2020-07-10 00:17:39 +00:00