7468 Commits

Author SHA1 Message Date
John Sully
c0d7601aa4 Merge branch 'unstable' of https://github.com/JohnSully/KeyDB into unstable
Former-commit-id: 2910cee32ba6e4ef4b79b83bec2980c582a9310c
2021-03-29 00:49:34 +00:00
VivekSainiEQ
f4dbaab531 Removed hasModuleGIL boolean and added fix from PR #292
Former-commit-id: 68d213f4c9c1c3161929a5e20ca4f2b27665c8fd
2021-03-19 20:10:24 +00:00
VivekSainiEQ
932fd2e79a added lock releasing w/ hasModuleGIL, changed module serverTL, and moved module_blocking_pipe to global scope to fix issue #276
Former-commit-id: 7d9a2ce827a2f8d48e4682b3cc95460cc82f9778
2021-03-19 20:08:28 +00:00
John Sully
fdfbd8cc91 Fix polarity issue in async rehash
Former-commit-id: dfea168499f0b7829607faec49c491d5072511bc
2021-02-09 05:10:22 +00:00
John Sully
4efab08466 Fix bug in fastlock stack metadata
Former-commit-id: 241d1bd7e1ed64885adbb07653a5c7e8ef882607
2021-02-07 19:11:05 -05:00
John Sully
662fc28fdc Disable multithreaded rehash when active defrag is enabled. The two are not compatible
Former-commit-id: 56addcd17262ffbaefea26c0097cde53c616ece2
2021-02-07 19:11:05 -05:00
John Sully
1b3dc3d422 The server should recalibrate periodically. Also reduce log noise
Former-commit-id: 8d8e1810d49da6aa921d2327cb4ea250c2b5b234
2021-02-07 19:11:05 -05:00
John Sully
27552cb307 Ensure the C lock implementation behaves the same as the ASM
Former-commit-id: b5ddc11c46d2eabd28fae4c69927c356dd18bf6e
2021-02-07 19:11:05 -05:00
John Sully
ba006abe02 Ensure rehash completes even when we're in a long running task
Former-commit-id: f107746e90f7a8ff3c7094145ee1ad438911e8c2
2021-02-07 19:11:05 -05:00
John Sully
495dff1e8c Implement rehash during spinlock
Former-commit-id: f68a26381a35b27948046d46c2c7bcfbdc21143d
2021-02-07 19:11:05 -05:00
John Sully
071ecb801a Allow multiple threads to rehash simultaneously
Former-commit-id: 5a2cc90786dfd1bfd341dbf5713bcde01f0cfff3
2021-02-07 19:11:05 -05:00
John Sully
6379ae6c7f Fix races in free
Former-commit-id: 3881d5c1f22f022855c0abcf7b0c2070e204c0a3
2021-02-07 19:11:05 -05:00
John Sully
1c0b603def Initial implementation
Former-commit-id: 958f2c00c8efc15dc91fdeec2ff2e2ae2016c124
2021-02-07 19:11:05 -05:00
John Sully
aa47e643b0 Fix memory leak in mvccRestore
Former-commit-id: 165333b0fc648c79e66f04d9c8c4a1d0059fe57a
2021-02-07 23:38:49 +00:00
John Sully
cb5119b756 Simplify the handling of CreateTimer
Former-commit-id: 7b4e25008a352bd425582a3e60b26894826af626
2021-02-01 15:51:22 -05:00
VivekSainiEQ
b0f94bd4b5 Modified RM_CreateTimer to prevent more that one function being posted at a time
Former-commit-id: f66e5a9c3d6925c3c6d383fbc43fbfbd56721dad
2021-02-01 15:51:22 -05:00
VivekSainiEQ
cf122aa54d Changed RM_CreateTimer to only call aePostFunction is existing aePostFunction isn't in flight
Former-commit-id: 9954f5b4a48286d07fb876fd9579801365b6c237
2021-02-01 15:51:22 -05:00
VivekSainiEQ
84dc6401c7 Now post entire timer installation process as one function to make atomic with respect to global locks
Former-commit-id: 53936661c88bd7eac88308afc75c510134a8e044
2021-02-01 15:51:22 -05:00
VivekSainiEQ
49132539dd Updated header file to remove fSynchronous flag
Former-commit-id: e2552ff8a92ea5adf7cea070b48afc573003254d
2021-02-01 15:51:22 -05:00
VivekSainiEQ
662037e3a3 Removed more uses of fSynchronous and the use of condition variable and mutex on the control struct.
Former-commit-id: 6ab08cc3e1429178b26b55ed7aa8ba85240eb766
2021-02-01 15:51:22 -05:00
VivekSainiEQ
2addbe7e4a Added fix for scenario where module thread waiting for s_mutexModule in acquireGIL can deadlock with module thread waiting for s_mutex in releaseGIL
Former-commit-id: 3205373bb378f895824cc1936a6bae663b1abdcc
2021-02-01 15:51:22 -05:00
VivekSainiEQ
dd0b8af2c5 removed synchronous calls to aePostFunction and changed scope of g_fModuleThread in order to prevent module related deadlocks, issue #214
Former-commit-id: 3b8d1f7076e4ab2082cd0768abc7b0b6ed4f951a
2021-02-01 15:51:22 -05:00
John Sully
84576e9b39 ARM build fix
Former-commit-id: 5832c25ad1ae3fbe12ee245a96799b4b1a75e4b1
2021-01-31 21:22:23 +00:00
John Sully
68ed1292ee Fix test failure caused by allowing pings during load
Former-commit-id: 569a3d9ff86f4cd74e269391ce1d582e009147ce
2021-01-31 07:15:55 +00:00
christianEQ
a0ae32a9f0 added exception to allow pings during loading
Former-commit-id: 8a557e9d711c3aadbc566cf96ca2a18f10e8d5a4
2021-01-31 00:12:49 -05:00
christianEQ
19dc63bd3a added severity levels for afterErrorReply
Former-commit-id: fe0f07199353abf6668cd66cd2e21751db5c21d9
2021-01-31 00:12:49 -05:00
John Sully
7766b37062 Fix test failure due to bad merge
Former-commit-id: f6fb0e462001c49af185682caed8881ccd6d36f3
2021-01-31 03:40:57 +00:00
John Sully
543d92d0ff Fix crash on shutdown command
Former-commit-id: d72b5fa16df0c41dd62b8b6d25c1c2c9cce8b413
2021-01-31 02:30:28 +00:00
christianEQ
5a6f7c395f killMainThread -> killServerThreads
Former-commit-id: 0fea781f8f0218c5475890a395c49bd7e4faa03f
2021-01-28 23:57:19 +00:00
christianEQ
3d2a59d7ae compare_exchange in connSocketRead, explicitly enforce memory order (even if redundant)
Former-commit-id: 3c4cadc020c5aa9c39a066679255b8d2520c8e22
2021-01-28 23:17:48 +00:00
christianEQ
9d62e397bd fixed replicaof no one config, added test case
Former-commit-id: e2615ccf88ddb2a93536b62318983780890c4819
2021-01-28 19:49:22 +00:00
christianEQ
304a037cb3 updated version num to 255.255.255
Former-commit-id: 595deb0e1391c29c4766072bdd292202dd55c79d
2021-01-28 16:54:22 +00:00
christianEQ
70960ffe12 arm locker before checking zmalloc_used_memory
Former-commit-id: 52eca14ca61a54ac7dde57c2966216cab0e7ae2f
2021-01-27 22:24:06 +00:00
christianEQ
5668a5d02d fixed uninitialized variables in ACLSetUserCommandBit
Former-commit-id: 7319953ae389817679ce74c44b8baa631a4eafab
2021-01-26 23:29:15 +00:00
christianEQ
b840a1a3eb fixed strncpy off-by-one errors
Former-commit-id: b8e106a72e71bf5d8abd7d6032ff950f9722db59
2021-01-26 23:27:28 +00:00
christianEQ
59ffc79765 removed unimplemented killIOThreads function declaration
Former-commit-id: f30f8eba2f0a5cb247478c2104a4f748659a6cf2
2021-01-26 22:27:22 +00:00
christianEQ
8d7142488b fixed server.cpp mentions
Former-commit-id: 7ed2296fc5d10a1c41020558b4bc445953531bdd
2021-01-26 22:22:19 +00:00
christianEQ
237f3e8524 fixed race condition in connSocketWrite
Former-commit-id: d7f01c1f7d1bb2d6e0b004f532f7b98ed968d389
2021-01-26 22:08:07 +00:00
christianEQ
c068f2cd3d Merge tag 'tags/6.0.10' into redismerge_2021-01-20
Former-commit-id: dadce055f897cee83946c2d3e5cbb76341b94230
2021-01-26 21:43:09 +00:00
christianEQ
ab80e23152 changed loading process config types to be consistent across environments
Former-commit-id: d2867580aba70bbfa703578cdb40093a4e1a7147
2021-01-14 21:12:36 -05:00
christianEQ
464a08226d renamed loaded key counter to be more clear
Former-commit-id: 8dc238efae8f6ba6b4ddc9b169e7195bcb43920b
2021-01-14 13:06:57 -05:00
christianEQ
047e1174d9 fixed signedness warning
Former-commit-id: 00043f95099803f6b06a208ac3b19e2cef9abf4d
2021-01-14 13:06:57 -05:00
christianEQ
9262739be2 added section to keydb.conf for new options, tweaked default
Former-commit-id: 9b81f3f263de8cffab20ef4d20c2ac4935f63a10
2021-01-14 13:06:57 -05:00
christianEQ
327c44f8eb ping replicas during key load
Former-commit-id: 2747d1a1a99d3415d5486a472fe0e39135b79bc5
2021-01-14 13:06:57 -05:00
christianEQ
28a0cdc572 added config option for loading callback interval keys
Former-commit-id: 9f7ed0b2327924563668105ead09f52833902d0b
2021-01-14 13:06:57 -05:00
christianEQ
fc3388acfe configurized loading_process_events_interval_bytes
Former-commit-id: c176ea73664a182af9caacda9d489fb2b344b2de
2021-01-14 13:06:57 -05:00
Oran Agra
93fbd5d13e Redis 6.0.10 2021-01-12 16:25:37 +02:00
Bob Li
5041095cad Fix overflow of rdbWriteRaw return value (#8306)
Saving string of more than 2GB to the RDB file, can result in corrupt RDB, or failure in rdbSave.
S

(cherry picked from commit 3fb4197a742d064236ae4fdccf9dc00ed3b538d3)
2021-01-12 16:25:37 +02:00
guybe7
2d537b376c Modules: Fix an integer sign bug in moduleTimerHandler (#8131)
bug was introduced in 9cbdc8dcdb

(cherry picked from commit de339c29635091c5ce41b7a061b5aff723952a8b)
2021-01-12 16:25:37 +02:00
Egor Seredin
85bcc60165 Allow '\0' inside of result of sdscatvprintf, and efficiency improvements (#6260)
This will allow to use: RedisModule_CreateStringPrintf(ctx, "%s %c %s", "string1", 0, "string2");

On large string, the previous code would incrementally retry to double the output buffer.
now it uses the the return value of snprintf and grows to the right size in one step.

and also avoids an excessive strlen in sdscat at the end.

(cherry picked from commit 1ad4e18394eac68ab8bae1ef5a2920086ce0f9ba)
2021-01-12 16:25:37 +02:00