Oran Agra
f1ff72c7a3
Fix race in client side tracking ( #9116 )
...
The `Tracking gets notification of expired keys` test in tracking.tcl
used to hung in valgrind CI quite a lot.
It turns out the reason is that with valgrind and a busy machine, the
server cron active expire cycle could easily run in the same event loop
as the command that created `mykey`, so that when they key got expired,
there were two change events to broadcast, one that set the key and one
that expired it, but since we used raxTryInsert, the client that was
associated with the "last" change was the one that created the key, so
the NOLOOP filtered that event.
This commit adds a test that reproduces the problem by using lazy expire
in a multi-exec which makes sure the key expires in the same event loop
as the one that added it.
(cherry picked from commit 9b564b525d8ce88295ec14ffdc3bede7e5f5c33e)
2021-07-21 21:06:49 +03:00
Maxim Galushka
9562821f12
redis-cli: support for REDIS_REPLY_SET in CSV and RAW output. ( #7338 )
...
Fixes #6792 . Added support of REDIS_REPLY_SET in raw and csv output of `./redis-cli`
Test:
run commands to test:
./redis-cli -3 --csv COMMAND
./redis-cli -3 --raw COMMAND
Now they are returning resuts, were failing with: "Unknown reply type: 10" before the change.
(cherry picked from commit 96bb078577ce2b0d093c873faae5d3ecca26a1de)
2021-07-21 21:06:49 +03:00
malavan
69f3e7c802
remove duplicate function
...
Former-commit-id: 81cf9979ed1d86d0a690e5cd27ed018b125b1d58
2021-07-21 16:00:24 +00:00
malavan
99a165e0f6
add stacktrace message
...
Former-commit-id: 5be1620629ce8de7f419bc001f18d22d6eb4fa8a
2021-07-19 23:17:18 +00:00
John Sully
ea19d31df8
Merge branch 'keydbpro' into keydbpro_collab
...
Former-commit-id: e4e5c6696c6d831924f314a198b266b10d831e14
2021-07-19 20:51:27 +00:00
John Sully
bacaa204cf
Disable async rehash during load as it interferes with eviction
...
Former-commit-id: 54b4f39e9d634bf53b04cd94433b051b14323bc6
2021-07-19 18:17:54 +00:00
John Sully
345ec75a36
We need to free in order since the first big async free is likely the largest, so don't set the hipri bit
...
Former-commit-id: 76a9cefa94e0f446e12a690909cbda15d03ca211
2021-07-19 18:01:39 +00:00
malavan
16f361abf6
dd comment and set eip unused
...
Former-commit-id: 685b87e2ef4f67cd599b12e38b08f5b70b7a6c58
2021-07-19 17:32:38 +00:00
malavan
70cb3267de
dd comment and set eip unused
...
Former-commit-id: 72429c21067318696897c26783f654eb7bc6040f
2021-07-19 17:31:24 +00:00
malavan
9e411426f2
dd comment and set eip unused
...
Former-commit-id: 7707fe15a9c9774820b3afb9837a50e73c40a5a8
2021-07-19 17:29:43 +00:00
malavan
abf2114117
add backtrace for alpine using libunwind
...
Former-commit-id: c583ffff412b9df705b7c96e68e3908b645c7d43
2021-07-19 17:20:52 +00:00
John Sully
88f5bf1d90
We need to periodically flush the GC or we'll end up blocking with a huge backlog at the end of load
...
Former-commit-id: 29c0bf79ad1a810e808790de2f7db24f3cc603e8
2021-07-19 16:50:48 +00:00
John Sully
d3793efb33
Info command should show how many keys are cached in RAM vs storage provider
...
Former-commit-id: 08597bee69bc16ca7c3d5ff31020472774c6eec9
2021-07-19 15:11:33 +00:00
John Sully
614860ce3c
StorageCache dtor leaks
...
Former-commit-id: 0262c4dc76a320141b8a4454df2f6baab4f74ab3
2021-07-19 15:10:48 +00:00
John Sully
4000334b1f
Do not resize replica buffer past the max client limit
...
Former-commit-id: ba116500ca4fd53e4e40f04fc33981e60bb21ab7
2021-07-18 20:48:08 +00:00
John Sully
5f72ce9317
Return the ring buffer to its original size if we temporarily resized it
...
Former-commit-id: a12ce4a0d105bf7d6ccff95f7dc0044c4676b0a7
2021-07-18 20:45:32 +00:00
John Sully
0b220bddc7
Do not update batch variables when not in a batch
...
Former-commit-id: ad1e0286cf9b2d9de33c65e8e798a05ead3f7d5a
2021-07-18 20:28:42 +00:00
christianEQ
43f31da324
fix warnings for mac build
...
Former-commit-id: 570fbd014944a655f6c8e7216f2b9226f378c7c7
2021-07-15 20:14:14 +00:00
christianEQ
a833c9b2a7
Merge remote-tracking branch 'origin/unstable' into ci-flags-fix
...
Former-commit-id: da1f09e9b551cacdfd24dc839ee659a5e5e1e1de
2021-07-14 22:56:15 +00:00
malavan
bfefd8a11b
use INVALID_EXPIRE instead of -1
...
Former-commit-id: 9e45984a97a293d87474f87612204a24c831a343
2021-07-14 22:13:29 +00:00
christianEQ
f11601bcfc
added REDIS_CFLAGS to makefile for backwards compatibility
...
Former-commit-id: b2fb4f4b9bba28f45828ead5670fc206a4c2a2f6
2021-07-14 21:51:44 +00:00
malavan
c255a454ec
cleanup based on 6.2.2 merge review
...
Former-commit-id: 51277b17a7ab4bb5b3f06fd5af8f26257ac35a37
2021-07-14 15:22:27 -04:00
Christian Legge
5019f9c537
Merge pull request #322 from EQ-Alpha/diagnostic-tool
...
Basic first iteration of Diagnostic Tool
Former-commit-id: 32f5ef864e85a46ed81d3a2fdfd51d0be4f361f5
2021-07-14 14:19:44 -04:00
Christian Legge
25d992777c
Merge pull request #327 from EQ-Alpha/issue323_fix
...
fix for #323 : seg fault on expiremember
Former-commit-id: a8f28297ec1677f48e9afa9deeb3dbbd2e2f41d9
2021-07-12 16:54:31 -04:00
christianEQ
229bb85dec
tabs -> spaces
...
Former-commit-id: 0ae13c973166106efd17aa6b5dfeb80236ed862c
2021-07-12 18:55:44 +00:00
John Sully
d3d7c3a865
Merge branch 'keydbpro' into keydbpro_collab
...
Former-commit-id: 8eec3e948ffd204bb2d6170ad3ca42fa8a2c6d8b
2021-07-09 05:25:04 +00:00
John Sully
2616ed75cc
Merge branch 'unstable' into keydbpro
...
Former-commit-id: 81ded8a35daa5100cac7299a7d0b5f43ee7ac74f
2021-07-09 04:41:47 +00:00
John Sully
c0160a4415
Merge tag '6.2.3' into unstable
...
Former-commit-id: 1895dbb7680fa9aadf6040912e89c733abc8c706
2021-07-09 04:40:31 +00:00
christianEQ
cf23416296
added eq alpha copyright
...
Former-commit-id: a6cbbd0f318f3a091ed23dbdbcc1593f32fa5e25
2021-07-08 02:58:18 +00:00
christianEQ
145015dc51
fix for #323 : seg fault on expiremember
...
Former-commit-id: f1f52af9cfcac03a1af84265f7e5cb2172e8ebde
2021-07-08 02:50:05 +00:00
christianEQ
ea95e6c406
various branding and cleanup fixes
...
Former-commit-id: e3c619eca4755c96af83e1959a6ea5ba95734e93
2021-07-08 02:46:42 +00:00
jsully
ed6dda0887
Merge branch 'license_status_fix' into 'keydbpro'
...
license status OK if not checking license
Closes #14
See merge request keydb-dev/KeyDB-Pro!19
Former-commit-id: f66d0970b1eb9be50210a88bf773769a40513521
2021-07-07 18:07:30 +00:00
John Sully
24a24dd082
Merge branch 'repl_backlog_rework' into keydbpro_collab
...
Former-commit-id: 0983e195757d92d6cbcb63436a1332a6b80e275c
2021-06-30 06:36:45 +00:00
John Sully
6ba0e699d4
Merge branch 'keydbpro' into keydbpro_collab
...
Former-commit-id: ecc69952dfd1f145e1aff12bca56a4b4e102d669
2021-06-25 06:21:58 +00:00
John Sully
0d8da2c350
Avoid taking locks when we don't need to
...
Former-commit-id: 0d8d3ee9e217cd1f1366a117e6e212f610a028e1
2021-06-25 06:11:14 +00:00
John Sully
165e73353a
OPTIMIZATION: Only notify the condition variable when needed
...
Former-commit-id: 11f07b49c613f54cef682da1e3c8fc54918809b0
2021-06-25 06:11:01 +00:00
John Sully
8db07641ad
Reenable LTO
...
Former-commit-id: e7c1e1c9d8021f48c4081a9dfb84dba9da2521fc
2021-06-25 06:10:13 +00:00
vivek
0e953fb916
Primitive implementation of bypassing client buffer, stats are all messed up and print statements everywhere
...
Former-commit-id: 59b2ae8ff451f8a5ac2f3baf3c7b509f6872895e
2021-06-25 03:10:56 +00:00
John Sully
5949e253ca
remove unnecessary newline
...
Former-commit-id: 532af9cd0286ac6ece6f401c42aea18e36d16f7c
2021-06-25 02:46:32 +00:00
John Sully
e6a82692b7
Avoid holding the lockPendingWrite for too long and deadlocking due to lock inversion
...
Former-commit-id: a4b49fbec60e2333a4407d24383ae204d5d2b413
2021-06-25 02:31:17 +00:00
John Sully
815ebe1e6b
Remove fPendingReplicaWrite flag which can instead be calculated on demand
...
Former-commit-id: ae26afd13f955eb230b5c2cab20ec90db9b714ad
2021-06-25 01:54:38 +00:00
christianEQ
e5939c5de9
removed unused command line options
...
Former-commit-id: 57e59d97db3674eb241f9bd0836e38f4c8356cac
2021-06-22 17:13:35 +00:00
christianEQ
6c5246fb09
changed --ms to --time
...
Former-commit-id: d7cada0f38668f67eb307172a3e91599b1f00a24
2021-06-21 19:57:14 +00:00
christianEQ
59102658a3
added more verbose options
...
Former-commit-id: fd2ac1fcfc94285cad683528f3d209b204ccfd2b
2021-06-21 18:40:37 +00:00
christianEQ
2bbb8a54fc
-t threads option
...
Former-commit-id: 0181b0e7a17ad5f83a544401110a9eac2b292aa4
2021-06-21 18:36:21 +00:00
christianEQ
0d9e0a9039
added starting line so diagnostic tool doesnt look frozen at first
...
Former-commit-id: 2b5e5cfa4cf1478682c46d74436025c63ac6c217
2021-06-18 20:21:47 +00:00
christianEQ
4028d35560
Merge remote-tracking branch 'origin/unstable' into diagnostic-tool
...
Former-commit-id: bfb0d02622dfc9ac0c67ec68ae8a21cccd5c9004
2021-06-18 20:19:31 +00:00
christianEQ
248059e50c
detect stagnating server load before 100% (diagnostic tool)
...
Former-commit-id: 534b70643b8f39303331048d3e86475caa08b864
2021-06-18 19:01:51 +00:00
christianEQ
b21b868de2
added config option for time to spin up new client threads (diagnostic tool)
...
Former-commit-id: 3d0f729572b175457d4874b6e381754ac47e9055
2021-06-18 16:58:16 +00:00
christianEQ
29e3f7da84
detect full load + server threads (diagnostic tool)
...
Former-commit-id: fd4ed1e425e32b628c5850e83c9ea9411c471bbe
2021-06-18 16:49:25 +00:00