7860 Commits

Author SHA1 Message Date
John Sully
76698beeaf Drastically improve perf when loading an RDB with a storage provider
Former-commit-id: 0133b42d54676e8fac2c5cb006cc87988dced268
2021-03-02 04:16:20 +00:00
John Sully
6065f276c4 Key prefetch error handling instead of crashign
Former-commit-id: b322a14efb1b897134b229c1726b45264b57783f
2021-03-02 01:38:12 +00:00
christianEQ
175b266c34 time thread priority + nanosleep
Former-commit-id: c84f296edabc001a1836ab8437f746dcff811148
2021-02-26 20:17:34 +00:00
John Sully
bbb310f419 Eliminate needless lock
Former-commit-id: 60f972d463f202edb33ff9a25bc2bd3e2558105c
2021-02-26 05:40:56 +00:00
John Sully
6ee9d69763 Eliminate the need for an mfence by tricking the CPU into ordering the futex read
Former-commit-id: 340e6f5bc94cd1c3b0c6fb6da833e8504acaf23a
2021-02-26 01:28:05 +00:00
John Sully
4f632962c1 eliminate syscall in call()
Former-commit-id: 3ee111a2e50bc29818ba85ae4fb786171d695c37
2021-02-26 01:03:10 +00:00
jsully
1459d88a6d Merge branch 'timethread' into 'keydbpro'
Offload updating cached time to dedicated thread

See merge request keydb-dev/KeyDB-Pro!10

Former-commit-id: 31786a995d0220ec0cb4502917a8cc0f192da4cb
2021-02-26 00:50:22 +00:00
christian
53b7b83af6 Offload updating cached time to dedicated thread
Former-commit-id: 9bfc8a43952481b5b54a7b051d44b8bece4a18dd
2021-02-26 00:50:22 +00:00
John Sully
ca13fda90f Fix issue where finding random keys is slow due to not shrinking the hash table.
Former-commit-id: fd05010cdcf9d6a6187ca2e18bc55adbaa680a02
2021-02-22 09:14:24 +00:00
John Sully
87fc018415 Implement maxstorage config
Former-commit-id: 79e07859dfec14edf2a39646013e1a82db033d4f
2021-02-19 05:17:41 +00:00
John Sully
3ac42ec80c Disable async rehash with single threads, it causes slowdowns as the rehash never completes
Former-commit-id: 5d08dbdf76c0fd1e0cfcf86b97ef3e656f0e4f5d
2021-02-16 21:07:43 +00:00
John Sully
c43bb8e8b5 Fix deadlock in storage prefetch
Former-commit-id: 9e6162de08248f7726b97b73aee2f23808ff4e7b
2021-02-12 19:38:57 +00:00
John Sully
ef471e6e53 Enable prefetch with storage providers
Former-commit-id: 21f9c52c446ad1b460a340c3d873839b2355728f
2021-02-11 00:50:21 +00:00
John Sully
e5e1350219 Fix polarity issue in async rehash
Former-commit-id: 9eefba49d4fcde7f12929929d7aeb36f5186a63d
2021-02-09 02:41:44 +00:00
John Sully
3de15c16ac Fix deadlock with disconnecting client and storage provider
Former-commit-id: 0831745323e425f463322e8c0dc27fc25854868e
2021-02-08 19:02:01 +00:00
John Sully
078abba316 Merge branch 'unstable' into keydbpro
Former-commit-id: e2140793f2bf565972ada799af73bf4457e2718d
2021-02-08 18:17:09 +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
e2f634aef5 Fix cluster test failure
Former-commit-id: 230fde39882766426d892fd30d0c8349f5cca912
2021-02-07 23:38:25 +00:00
John Sully
6a7b193fc1 Fix memory leak in mvccRestore
Former-commit-id: 92da1cbd0a08b66264f170a9b57ef7270f270157
2021-02-07 23:38:09 +00:00
John Sully
52c1d17127 Update test to handle forkless bgsave
Former-commit-id: fc8c6de8252e6b802688413050f1a823093d0a1d
2021-02-07 21:41:19 +00:00
John Sully
b20ab1fd21 Merge branch 'keydbpro' of https://gitlab.eqalpha.com/keydb-dev/KeyDB-Pro into keydbpro
Former-commit-id: 8bad923169b2a73f249fd8b3153236d6a74100c9
2021-02-07 20:53:07 +00:00
christianEQ
fc83515309 fixed up backup stuff
Former-commit-id: 8a23162c24dc13a4268928c5defd85b0b5249d39
2021-02-04 22:36:32 +00:00
christianEQ
c69b2845fd Merge remote-tracking branch 'opensource/unstable' into keydbpro
Former-commit-id: 5bad058733de2c217340bb9ee48f02b07d754808
2021-02-03 18:10:27 +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