John Sully
d89fbd4175
Avoid memory overhead in situations it won't be used (active rep only)
...
Former-commit-id: 8f7d977f9068904eca783fefbb24df4d8abd4214
2020-09-19 21:44:59 +00:00
John Sully
3f294b6930
Fix build break
...
Former-commit-id: 50641d0569e8f4814b332da60ccd6d1bf425c53f
2020-09-17 00:53:56 +00:00
John Sully
693b360676
master_global_link_status should respect the quorum
...
Former-commit-id: f5ecc77e298d980f73ab34f7f1984bc7b9d451f4
2020-09-17 00:31:10 +00:00
John Sully
2c6fbac6ea
Allow reads during an active replica load, optionally allow writes as an experimental feature
...
Former-commit-id: 655bb6e21c5e814980a7b8b3ac1481ef142c1845
2020-09-17 00:13:03 +00:00
John Sully
4eecb1825f
Implement replica-quorum config
...
Former-commit-id: ab4cdd2ed4d3ee9752737d20662178d73d16b4c2
2020-09-16 03:26:31 +00:00
Yossi Gottlieb
bf6c002005
TLS: Session caching configuration support. ( #7420 )
...
* TLS: Session caching configuration support.
* TLS: Remove redundant config initialization.
Former-commit-id: d3834c50699bc4f31f381d6d03d4c1b022380895
2020-09-16 02:10:29 +00:00
John Sully
fc7b9399f9
Protocol error in client command
...
Former-commit-id: 7a1b2c58c3de736540cf4ec7f1539be63a54f5ac
2020-09-11 20:48:18 +00:00
John Sully
ea9cd04c75
Fix more protocol errors
...
Former-commit-id: 7fc6d6c6b177ad88dcddd0f4a7f68b74ccdaf037
2020-09-11 20:47:27 +00:00
John Sully
54de1d579d
Fix protocol difference with Redis
...
Former-commit-id: dec5db4e71231135570d1f03cde4203ec0b87e44
2020-09-11 20:08:26 +00:00
John Sully
855753ebb3
Fix whitespace
...
Former-commit-id: d47aeb1fc8a6804a44035253ad87478b817605cf
2020-09-07 03:35:46 +00:00
John Sully
b6d8a5938d
Dramatically improve perf by blocking commands
...
Former-commit-id: e47584b286c41cf0783fe014ac8b6ec187564ade
2020-09-07 00:49:53 +00:00
John Sully
e87dee8dc7
Add build flag to disable MVCC tstamps
...
Former-commit-id: f17d178d03f44abcdaddd851a313dd3f7ec87ed5
2020-08-10 06:10:24 +00:00
John Sully
e06152eb13
Fix lock after free in module API
...
Former-commit-id: d88fd1588d292bffc0aa53c299cb52e7a4e91015
2020-08-10 06:10:24 +00:00
John Sully
d4dd336834
Merge tag '6.0.5' into unstable
...
Redis 6.0.5
Former-commit-id: b736a95b0d23e4b73daa88c676b76d1d18e8bd17
2020-07-13 00:55:23 +00:00
John Sully
cfcb5ac5c7
Add the KEYDB.MEXISTS command, see issue #203
...
Former-commit-id: 5619f515285b08d9c443425de1f3092ae3058d40
2020-07-12 21:42:11 +00:00
John Sully
c5f6cb1ba5
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
efc8e719f9
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
John Sully
cd08792df7
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
6816bd1bbd
Support missing Redis 6 config options
...
Former-commit-id: f111c234152fd47d21c8c95029bcb191641182a7
2020-07-11 21:39:20 +00:00
John Sully
10585e4b3b
Latency fixes
...
Former-commit-id: 6857c4c2085d3b0902d7b2ece66b3fe8828dd805
2020-07-01 21:59:38 -04: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
John Sully
e9aead580d
Implement replicaof remove as requested in issue #192
...
Former-commit-id: 70b80aa5fad6c2191c2142ce49626b81d0950fa8
2020-06-09 12:43:58 -04:00
antirez
51efb7fe25
Redis 6.0.5.
2020-06-09 12:19:30 +02:00
antirez
ee8dd01bbc
Temporary fix for #7353 issue about EVAL during -BUSY.
2020-06-09 11:53:01 +02:00
xhe
a4a856d532
return the correct proto version
...
HELLO should return the current proto version, while the code hardcoded
3
2020-06-09 11:53:01 +02:00
Oran Agra
e2046b3003
Don't queue commands in an already aborted MULTI state
2020-06-09 11:53:01 +02:00
Oran Agra
b35fdf1de1
Avoid rejecting WATCH / UNWATCH, like MULTI/EXEC/DISCARD
...
Much like MULTI/EXEC/DISCARD, the WATCH and UNWATCH are not actually
operating on the database or server state, but instead operate on the
client state. the client may send them all in one long pipeline and check
all the responses only at the end, so failing them may lead to a
mismatch between the client state on the server and the one on the
client end, and execute the wrong commands (ones that were meant to be
discarded)
the watched keys are not actually stored in the client struct, but they
are in fact part of the client state. for instance, they're not cleared
or moved in SWAPDB or FLUSHDB.
2020-06-09 11:53:01 +02:00
zhaozhao.zz
1d7bf208ce
AOF: append origin SET if no expire option
2020-06-09 11:53:01 +02:00
Oran Agra
676445ad95
fix disconnectSlaves, to try to free each slave.
...
the recent change in that loop (iteration rather than waiting for it to
be empty) was intended to avoid an endless loop in case some slave would
refuse to be freed.
but the lookup of the first client remained, which would have caused it
to try the first one again and again instead of moving on.
2020-06-09 11:53:01 +02:00
zhaozhao.zz
4846c0c8af
donot free protected client in freeClientsInAsyncFreeQueue
...
related #7234
2020-06-09 11:53:01 +02:00
John Sully
f3e5c33a75
Update gcov for C++
...
Former-commit-id: e8d4d095cc5268fb35170dd1f2cb56e25c3d2b69
2020-06-08 16:48:44 -04:00
John Sully
66e9afe49c
Some valgrind fixes
...
Former-commit-id: ba974c9810dc30b6b5bd21c4bcc6cc5b219f7ea4
2020-06-07 23:20:10 -04:00
John Sully
a41672672b
fix valgrind false error
...
Former-commit-id: 9817db7eddf06becd151e5fef7cc6808777c49cb
2020-06-07 20:17:47 -04:00
Kevin Fwu
49af4d07e4
Fix TLS certificate loading for chained certificates.
...
This impacts client verification for chained certificates (such as Lets
Encrypt certificates). Client Verify requires the full chain in order to
properly verify the certificate.
2020-06-06 11:44:21 +02:00
antirez
329fddbda1
Revert "Implements sendfile for redis."
...
This reverts commit 9cf500a3f67e4e2ce51414c354e3472faf095d5b.
2020-06-06 11:43:29 +02:00
antirez
925a2cd5aa
Revert "avoid using sendfile if tls-replication is enabled"
...
This reverts commit b9abecfc4c97db01fa6f09180c68a92ea5974ac1.
2020-06-06 11:43:29 +02:00
Liu Zhen
84a7a90586
fix clusters mixing accidentally by gossip
...
`clusterStartHandshake` will start hand handshake
and eventually send CLUSTER MEET message, which is strictly prohibited
in the REDIS CLUSTER SPEC.
Only system administrator can initiate CLUSTER MEET message.
Futher, according to the SPEC, rather than IP/PORT pairs, only nodeid
can be trusted.
2020-06-06 11:43:29 +02:00
antirez
cd63359a17
Fix handling of special chars in ACL LOAD.
...
Now it is also possible for ACL SETUSER to accept empty strings
as valid operations (doing nothing), so for instance
ACL SETUSER myuser ""
Will have just the effect of creating a user in the default state.
This should fix #7329 .
2020-06-06 11:43:29 +02:00
John Sully
18f6579ec7
Ensure CRON jobs run in a clean environment
...
Former-commit-id: c6dce838b7cc94e115fd73a64dda663f0a2c28c5
2020-06-05 21:35:47 -04:00
John Sully
096f38ab39
Undecorated new is OK to use
...
Former-commit-id: 5b885bb1649805f6a2edb8d28edd1447bb6c4843
2020-06-01 23:36:01 -04:00
John Sully
0241311e69
Remove debug logs that shouldn't have been checked in
...
Former-commit-id: 31f58311e3de7441d81dd37bd4396be3b64efec5
2020-06-01 16:34:05 -04:00
John Sully
4f7102f46c
Fix for issue #187 we need to properly handle the case where a key with a subkey expirey itself expires during load
...
Former-commit-id: e6a9a6b428b91b6108df24ae6285ea9b582b7b23
2020-06-01 15:33:19 -04:00
John Sully
4038288c4e
Fix module multithreaded test failures
...
Former-commit-id: 1ef35cf466ea944c56974b3795d7d6b5e89f5a3d
2020-05-31 23:46:12 -04:00
John Sully
df5b0f0be5
sendfile has high latency in some scenarios, don't use it
...
Former-commit-id: 1eb0e3c1c604e71c54423f1d11b8c709c847a516
2020-05-31 23:22:25 -04:00
John Sully
dfe42b8485
we must always respect the output of sdscat, also change the string so its not a substring of other config params
...
Former-commit-id: e50313b20718bc8df0a53c11b0960e4bcb2177d4
2020-05-31 23:22:10 -04:00
John Sully
eddc1ad46a
Don't start multimaster tests until all nodes are connected
...
Former-commit-id: 202b97eff76501e736a2f0969607e3297e9703a4
2020-05-31 22:50:30 -04:00