7860 Commits

Author SHA1 Message Date
Oran Agra
881d2c4663 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
d496ce7271 AOF: append origin SET if no expire option 2020-06-09 11:53:01 +02:00
Oran Agra
216b5a1aae 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
2a8ee55176 donot free protected client in freeClientsInAsyncFreeQueue
related #7234
2020-06-09 11:53:01 +02:00
John Sully
8503b69bf9 Merge branch 'unstable' into keydbpro
Former-commit-id: ca3a50537e987bd30aec38265be535d89bb260f3
2020-06-08 16:51:16 -04:00
John Sully
76070d51a6 Update gcov for C++
Former-commit-id: e8d4d095cc5268fb35170dd1f2cb56e25c3d2b69
2020-06-08 16:48:44 -04:00
John Sully
ad4d76422c Some valgrind fixes
Former-commit-id: ba974c9810dc30b6b5bd21c4bcc6cc5b219f7ea4
2020-06-07 23:20:10 -04:00
John Sully
f252cc9e41 fix valgrind false error
Former-commit-id: 9817db7eddf06becd151e5fef7cc6808777c49cb
2020-06-07 20:17:47 -04:00
John Sully
27f454bafc fix valgrind false error
Former-commit-id: 887d8bdd110e04b30ffb215726e8aade39f0387a
2020-06-07 20:17:32 -04:00
John Sully
46f14ffc54 Merge branch 'keydbpro' into PRO_RELEASE_6
Former-commit-id: 3106f60e0ebdba5db944e704d4b148ea81c806f6
2020-06-07 17:05:00 -04:00
John Sully
3004ca80a4 Fix merge bug
Former-commit-id: cc03c32271997d26ce7f07f96588f126c5939e69
2020-06-07 17:04:46 -04:00
John Sully
00ae6d58a9 Bump version
Former-commit-id: 4a3e1f3b9b164ec0f19ca2a67c8003792a5ccc5c
2020-06-07 16:43:07 -04:00
John Sully
d0d24e04f0 Ensure CRON jobs run in a clean environment
Former-commit-id: b0e14683b2e655dc3aeb2f19b9227fc7fa24cc73
2020-06-07 16:43:07 -04:00
John Sully
e2cd106d2d Undecorated new is OK to use
Former-commit-id: 8d5cc4cf0c9d05f0d68cffec2b87b5c3dcb562ba
2020-06-07 16:43:07 -04:00
John Sully
16f86db5e4 Bump version
Former-commit-id: 52a0556ba15b26d84ca9b5c804eb8fe438c9c888
2020-06-07 16:41:59 -04:00
John Sully
8c24082f87 Merge branch 'keydbpro' into PRO_RELEASE_6
Former-commit-id: 6495fe1c7878f96dffa25a2879cb2b825c9e10b2
2020-06-07 16:41:36 -04:00
John Sully
4001a99481 Merge branch 'unstable' into keydbpro
Former-commit-id: 461eea07260a31cd75753d5b7be691f5793a6f1b
2020-06-07 16:41:21 -04:00
John Sully
d1208196ee Report flash disk usage
Former-commit-id: 8e4a71ccd31e3c643a6f7b5154d8f2a65d2de76f
2020-06-07 16:40:03 -04:00
Kevin Fwu
ce014c2a3b 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
bec1ac9899 Revert "Implements sendfile for redis."
This reverts commit 5675053269b0cbc2cf525c99321c96b7c2b39abe.
2020-06-06 11:43:29 +02:00
antirez
8bfdba1e08 Revert "avoid using sendfile if tls-replication is enabled"
This reverts commit 13bbd165e87923558952203d310e9ad053d4d7c0.
2020-06-06 11:43:29 +02:00
Liu Zhen
123d94ffc0 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
a5f0fa7f7a 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
779023beff Ensure CRON jobs run in a clean environment
Former-commit-id: c6dce838b7cc94e115fd73a64dda663f0a2c28c5
2020-06-05 21:35:47 -04:00
John Sully
848cd33d51 We need to search snapshots before deciding to not save a key
Former-commit-id: 357b09c500eecfe61970e121644a7200ac2387b9
2020-06-05 00:39:58 -04:00
John Sully
a0e502684d Fix dangling lock
Former-commit-id: 212e56984edfa3221c73b1d3c083efcd28f0dd25
2020-06-04 22:59:24 -04:00
John Sully
9204f7b629 Fix race when we free an item before we finish writing to disk making it temporarily unavailable
Former-commit-id: 6139cfee295261d0210f2af6217c2a23eeaf52b8
2020-06-04 22:18:03 -04:00
John Sully
e522540e2f Add latency marker for process changes phase for FLASH
Former-commit-id: 61e20b025d45b0af8ed60aab96246b30e4d0ed3d
2020-06-04 01:29:17 -04:00
John Sully
bec9bb1e0f Latency doctor updated for KeyDB Pro
Former-commit-id: a2690fca4a74e92eb44d5e38f886b08363a6d7b0
2020-06-04 01:28:52 -04:00
John Sully
689c1354be maxmem samples way too high
Former-commit-id: 599cac856d4ec77d59c5f5b4fae5b9f194c202ef
2020-06-04 01:28:34 -04:00
John Sully
8888498bfd Make snapshot completion faster and add latency monitor
Former-commit-id: 8063be6ee70a652c22c3263dccf318366e208891
2020-06-04 01:07:14 -04:00
John Sully
cb4bb9d7eb Consolidate snapshots should not consider keys in bulk storage
Former-commit-id: e02a8f503d45daf63150c60a8a8c3751b9b8581e
2020-06-04 00:26:51 -04:00
John Sully
e7586ddca1 Disambiguate temp rdb files so its less likely two servers with the same working dir will collide
Former-commit-id: 8fbc5a63c54589bb42aa1b1b53c56f399211605c
2020-06-04 00:25:37 -04:00
John Sully
f50ed30ad2 Only set tombstone if there is something to mask
Former-commit-id: ea092693f53ff0803c44a851219993a933166cc3
2020-06-04 00:23:37 -04:00
John Sully
28397f140a Extra debug checks in dictmerge
Former-commit-id: 839b2a151e6bad67017de87d7a637359f6ae63d1
2020-06-04 00:22:59 -04:00
John Sully
b39f917335 Clear tombstone dict when clearing database we don't need it
Former-commit-id: a8e1ef075eacfc0b767302f2514ca6f0342982bc
2020-06-04 00:17:19 -04:00
John Sully
4cf14b6e49 Fix crash where tombstone is evicted
Former-commit-id: 1f6ff7cc0fc0173610d77a69076eeaf478c3b701
2020-06-03 23:30:35 -04:00
John Sully
cebc1b7e48 Add DB commit latency samples
Former-commit-id: 557ea8d285045496105e3330f0007e02aa4359d7
2020-06-03 22:06:05 -04:00
John Sully
589448bdf0 Fix crash when overwriting key stored in FLASH but not in ram during a BGSAVE while clustering is enabled
Former-commit-id: 32967b1d671b151bed976e3d13ce26c7e1496c82
2020-06-02 23:59:24 -04:00
John Sully
ffbd43fbfa Bump maxmemory samples by a lot
Former-commit-id: ae46d64b2e6b16f81df6b4e12ddc9fed63a9785b
2020-06-02 17:22:45 -04:00
John Sully
ad174ab352 Merge error, server always flushes on eviction
Former-commit-id: 9b3b0c9a40ab5dcdac9620f0fbad84887cc9c832
2020-06-02 17:21:41 -04:00
John Sully
64adf015b1 Undecorated new is OK to use
Former-commit-id: 5b885bb1649805f6a2edb8d28edd1447bb6c4843
2020-06-01 23:36:01 -04:00
John Sully
8bdca52222 Merge branch 'keydbpro' into PRO_RELEASE_6
Former-commit-id: a901505e562c0dc341fa939cce502da25642f7ba
2020-06-01 17:42:32 -04:00
John Sully
df3f1e8d8e Merge branch 'unstable' into keydbpro
Former-commit-id: 08a36155e3db9918048e87c3d691b7317787c9ab
2020-06-01 17:41:37 -04:00
John Sully
c799f6855b Bump version
Former-commit-id: 8dbea2a050dd9e741018230fedeeda46780a7a31
2020-06-01 17:01:50 -04:00
John Sully
b2a885c98f Remove debug logs that shouldn't have been checked in
Former-commit-id: 31f58311e3de7441d81dd37bd4396be3b64efec5
2020-06-01 16:34:05 -04:00
John Sully
9e87395c34 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
0a9a32e5d7 Fix module multithreaded test failures
Former-commit-id: 1ef35cf466ea944c56974b3795d7d6b5e89f5a3d
2020-05-31 23:46:12 -04:00
John Sully
08fca5ef31 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
b30fa046f4 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