Malavan Sotheeswaran
f80f4b2e24
need to include stdint for uintptr_t
2022-03-31 19:47:13 -07:00
Malavan Sotheeswaran
44206187a2
cannot mod a pointer
2022-03-31 18:55:12 -07:00
Malavan Sotheeswaran
34ac7488eb
remove nullptr subtraction
2022-03-31 18:51:40 -07:00
Malavan Sotheeswaran
60cbb0f1d1
remove unused var in networking.cpp
2022-03-31 18:40:17 -07:00
John Sully
ff580de3a2
Eliminate firewall dialogs on mac for regular and cluster tests. There are still issues with the sentinel tests but attempting to bind only to localhost causes failures
2022-03-08 18:20:03 -05:00
John Sully
4b3e23e2fb
Fix module test break
2022-03-07 20:20:47 -05:00
John Sully
1f0679da36
Fix MALLOC=memkind build issues
2022-03-06 20:38:00 -05:00
benschermel
2ae3dd6b0a
update README resource links
2022-03-06 15:42:48 -05:00
Malavan Sotheeswaran
d591df1529
set thread as offline when waiting for time thread lock
2022-02-18 12:46:37 -05:00
Malavan Sotheeswaran
cf799eae84
time thread lock uses fastlock instead of std::mutex
2022-02-18 12:46:37 -05:00
Malavan Sotheeswaran
5c816db669
only need to include readwritelock in ae
2022-02-18 12:46:37 -05:00
Malavan Sotheeswaran
7bbd6d73c8
hide forklock object in ae
2022-02-18 12:46:37 -05:00
malavan
0d5b349744
fork lock for all threads, use fastlock for readwritelock
2022-02-18 12:46:37 -05:00
John Sully
ccf8d42e4b
Update ci.yml
...
Change min tested version to 18.04
2022-01-31 18:43:54 -05:00
Malavan Sotheeswaran
93a748f86b
remove unused lambda capture
2022-01-19 13:15:40 -08:00
MalavanEQAlpha
3e774999e7
Merge pull request #386 from EQ-Alpha/fix_rdb_hang
...
add readwrite lock for forking
2022-01-14 16:17:32 -05:00
MalavanEQAlpha
83563f6bb2
Merge branch 'unstable' into fix_rdb_hang
2022-01-12 21:13:45 -05:00
Christian Legge
875a82bdf8
Save and restore master info in rdb to allow active replica partial sync ( #371 )
...
* save replid for all masters in rdb
* expanded rdbSaveInfo to hold multiple master structs
* parse repl-masters from rdb
* recover replid info from rdb in active replica mode, attempt partial sync
* save offset from rdb into correct variable
* don't change replid based on master in active rep
* save and load psync info from correct fields
2022-01-12 19:49:15 -05:00
malavan
1e3fe8cab3
forklock only for time thread
2022-01-12 23:41:06 +00:00
malavan
127becc9e0
catch exceptions and relock in executeWithoutGlobalLock
2022-01-02 11:09:21 +00:00
malavan
b57b1c8ff8
don't read query if waiting on fork
2021-12-24 18:00:07 +00:00
malavan
bb83aef1da
add latency monitor for forklock and expose writeWaiting status
2021-12-24 17:54:19 +00:00
malavan
cbb9ac38d2
reduce work done outside global lock
2021-12-24 17:08:27 +00:00
malavan
6749c2bcf0
add functions to upgrade/downgrade read to/from write in readWriteLock
2021-12-24 06:54:54 +00:00
malavan
9957c11e2d
restore assert that client is safe to unlock
2021-12-24 03:02:51 +00:00
malavan
b4b30dcf9d
add write waiting to readWriteLock to avoid starvation
2021-12-23 21:08:25 +00:00
malavan
cddd3b6896
add executeWithoutGlobalLock function
2021-12-23 20:59:08 +00:00
John Sully
b4528b797d
Remove double free in keydb-benchmark
2021-12-23 14:20:41 -05:00
John Sully
e070651039
Fix deadlock issue #183 cause by lock inversion
2021-12-23 13:17:14 -05:00
John Sully
7a32ec39fd
Apple build break fix
2021-12-23 13:12:59 -05:00
John Sully
50dfee2039
Fix module test break
2021-12-23 13:12:34 -05:00
Malavan Sotheeswaran
9e92c038b8
reset cycle count on cvwait and name constant
2021-12-22 15:18:45 -05:00
Malavan Sotheeswaran
c167902cbf
reacquire fork lock every 500 time thread loops
2021-12-22 14:42:14 -05:00
Malavan Sotheeswaran
c8bd5dbb4f
timethread only releases forklock when waiting
2021-12-22 14:37:41 -05:00
Malavan Sotheeswaran
2c932d7b80
release fork lock on thread end
2021-12-22 14:08:00 -05:00
Malavan Sotheeswaran
8dff4f3437
need to acquire forklock on thread start
2021-12-22 14:06:55 -05:00
Malavan Sotheeswaran
eec6b5142e
explain deadlock possibility in acquireWrite
2021-12-22 14:05:46 -05:00
Malavan Sotheeswaran
d2c080d923
further generalize readWrite lock and use it for moduleGIL
2021-12-22 13:59:58 -05:00
Malavan Sotheeswaran
754d5a3ba1
move fork lock management within redisFork
2021-12-22 11:19:24 -05:00
Malavan Sotheeswaran
4aaa7b7bd7
add forklock to time thread, wake time thread after acquiring locks
2021-12-22 11:06:15 -05:00
Malavan Sotheeswaran
b93938914d
add readwrite lock for forking
2021-12-21 18:11:51 -05:00
Vivek Saini
4b6bdcbcce
Merge pull request #375 from VivekSainiEQ/time_thread_backport
...
Backport the time thread code from the enterprise version of KeyDB.
Also fix an issue with clustering where connections are potentially written to after being closed.
2021-11-15 12:57:15 -05:00
benschermel
31c0e38d86
Merge pull request #345 from EQ-Alpha/pkg_update_tools
...
add keydb-diagnostic-tool to packaging
2021-11-10 22:16:09 -05:00
benschermel
8f5b94c75f
Merge pull request #376 from EQ-Alpha/systemd_build
...
Systemd build
2021-11-10 22:14:24 -05:00
benschermel
d1fc7b96ed
fix typo
2021-11-11 02:36:20 +00:00
benschermel
b253a7aa8d
update license
2021-11-11 02:19:56 +00:00
benschermel
1625c74a36
Merge branch 'unstable' into systemd_build
2021-11-11 00:59:33 +00:00
Vivek Saini
3c716ee33d
Security fixes ( #373 )
...
Fixing potential buffer overflows when using the bitop shift and cron commands, as well as comparing ACL user passwords in constant time.
2021-11-09 19:00:01 -05:00
VivekSainiEQ
b03eab2a06
Backported time thread code from enterprise
2021-11-05 00:30:34 +00:00
VivekSainiEQ
6a0a005ff2
Check that cluster connection is valid before setting write handler
2021-11-02 17:43:17 +00:00