156 Commits

Author SHA1 Message Date
John Sully
a9d3490f9c Silence TSAN errors on ustime and mstime. Every CPU we support is atomic on aligned ints, but correctness matters 2022-05-17 15:37:22 -04:00
John Sully
4141746f8f Fix crash in save of masterinfo 2022-05-06 16:29:27 +00:00
John Sully
41b282803a Fix PSYNC test crashes 2022-05-04 01:37:40 +00:00
John Sully
b37a68c8f1 PSYNC production fixes 2022-04-26 02:07:28 +00:00
Vivek Saini
78efb2f629 call aeThreadOnline() earlier 2022-04-26 01:55:22 +00:00
Vivek Saini
b1b6d31305 placement new instead of memcpy 2022-04-26 01:55:22 +00:00
Christian Legge
0f26a14276 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-04-26 01:55:22 +00:00
Vivek Saini
3fadb9787a Integrate readwritelock with Pro Code 2022-04-26 01:55:22 +00:00
John Sully
c9d70ca62d Do not send updates to servers overly frequently during load 2022-04-13 12:51:00 -04:00
John Sully
52b8c153f8 Make multithread load configurable and disabled by default (#57)
Co-authored-by: John Sully <john@csquare.ca>
2022-04-07 13:20:38 -04:00
John Sully
0d917c8580 Fix mac build breaks and remove license checks (won't work on mac) 2022-03-07 14:50:31 -05:00
VivekSainiEQ
45e7b87548 Merge remote-tracking branch 'mainpro/PRO_RELEASE_6' into keydbpro
Former-commit-id: 5a32d66ee382b6d227a67073afc81ca058d605ed
2021-12-06 20:43:23 +00:00
John Sully
6eae02919a Allow load at boot to be cancelled with a shutdown command
Former-commit-id: 2897a59e59bed14a67d1d0abcec5cb6a71bbb15b
2021-11-13 18:39:03 +00:00
VivekSainiEQ
7992428583 Merge remote-tracking branch 'opensource/unstable' into PRO_RELEASE_6
Former-commit-id: 60da86471f68b13e2456e113ecd4aa117d95b134
2021-11-12 21:12:53 +00:00
VivekSainiEQ
349d9d2c05 Cast pointer correctly and fixed MVCC not updating correctly
Former-commit-id: 79bdcf0b3d0c190a24e6b7da50ce05f4e5185d04
2021-10-27 17:08:37 +00:00
VivekSainiEQ
a7e7540284 Resolved merge conflicts in prior commit
Former-commit-id: b88f06b16f3d9e58ec884c61d2d074d7a489775e
2021-10-21 22:35:15 +00:00
VivekSainiEQ
b84ee93b5d Merge tag '6.2.6' into Redis_626_Merge
Former-commit-id: e6d7e01be6965110d487e12f40511fe0b3497695
2021-10-21 22:33:55 +00:00
John Sully
ac22f3c60f disable key cache during load if necessary
Former-commit-id: 68dcf66909e2138da4902bdec98985f4fcd737cf
2021-10-04 07:35:36 +00:00
John Sully
86ec032e2c Don't expand the dictionary if a storage provider is set as we won't use the whole thing
Former-commit-id: 1f07b01144397cec59ec2d94f41c85eceb7248e2
2021-10-04 07:33:38 +00:00
John Sully
d29df021b1 Use the concurrentqueue for multithread load instead of mutex and cvs
Former-commit-id: d5a59113dbfedaf7b62a650cff58a2e8ec01826f
2021-10-04 07:33:03 +00:00
John Sully
4d605bea02 Unify job types so everything is processed in order
Former-commit-id: 625aa97e4cf16337e8b052b7a27491a0ab09110f
2021-09-17 17:27:19 +00:00
John Sully
6e7c4cbf17 We need to send keepalives to masters while waiting to prevent disconnects
Former-commit-id: 7cbd6758b1042198c14ca9e8da0f1f7bc05df93d
2021-09-01 04:15:59 +00:00
John Sully
f3fb4e3209 Don't be in tracking mode during load as processChangesAsync works outside the normal system
Former-commit-id: 8d31ce6eafea1cea2f9f4ea25e44306efef28fa3
2021-09-01 04:15:28 +00:00
MalavanEQAlpha
fd5f0b8ebe Merge pull request #313 from MalavanEQAlpha/fixissue295
Resolve Issue #295 by speeding up keyIsExpired and setting timeout on subkey expires.

Former-commit-id: 9e5e6c2f86548b18ae27b4e1ac20c72517392b07
2021-08-18 17:34:18 -04:00
John Sully
c6a0c7b04f Fix crash in load with storage provider set
Former-commit-id: 6990818b7ca647819b50ae04224778e6f8f12a1a
2021-08-11 01:19:39 +00:00
John Sully
c77ce968c5 Merge branch 'keydbpro_collab' into multithread_load
Former-commit-id: 8016c20f1f9a648e658c816e2f6777c5718d5e19
2021-08-09 20:20:34 +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
malavan
bfefd8a11b use INVALID_EXPIRE instead of -1
Former-commit-id: 9e45984a97a293d87474f87612204a24c831a343
2021-07-14 22:13:29 +00:00
John Sully
0f41d34ba2 Fix collab issue #26
Former-commit-id: 2392879772a77fc30c856488b9911d194ced827b
2021-06-03 04:43:38 +00:00
John Sully
eef508736d Merge branch 'keydbpro_collab' into multithread_load
Former-commit-id: b580a5561220bc6dc7bc073135f3045ba0cdda51
2021-06-02 04:24:49 +00:00
John Sully
af81622bfc We need to refactor to gurantee the key is visible when loading subexpires. Keys may be temporarily invisible while waiting to be added to the storage
Former-commit-id: 222eecb95925f7c60e28a5717d73163ad64b522b
2021-06-01 23:59:22 +00:00
John Sully
d0e69e4c47 Reduce lock contention when loading to a storage provider
Former-commit-id: 58bc777f2215918043325753b6e2bf89dc3108f7
2021-06-01 20:01:41 +00:00
John Sully
702bfaee9b Merge branch 'unstable' into keydbpro
Former-commit-id: 4fd95b064648ee3d02097a1c2dabf306978b44f9
2021-05-30 04:28:09 +00:00
John Sully
f1ba462df6 Delete pipe on the right thread so event handlers are cleaned up
Former-commit-id: 9742c44db52929b755d6ecce16f91bee07f495ff
2021-05-30 02:07:31 +00:00
John Sully
f4151f0d6b Merge branch 'unstable' into keydbpro
Former-commit-id: 205d8f18d2bb8df5253bab40578b006b7aa73fd5
2021-05-28 23:32:46 +00:00
John Sully
ea6a0f214b Merge tag '6.2.2' into unstable
Former-commit-id: 93ebb31b17adec5d406d2e30a5b9ea71c07fce5c
2021-05-21 05:54:39 +00:00
John Sully
f49d8f9adb Merge tag '6.2.1' into unstable
Former-commit-id: bfed57e3e0edaa724b9d060a6bb8edc5a6de65fa
2021-05-19 02:59:48 +00:00
VivekSainiEQ
501a065759 Changed branding in various locations
Former-commit-id: 96bca72bb4528a0789354ee4fd6bf3ab66d82bf7
2021-05-06 20:13:45 -04:00
John Sully
442aa5bbd9 Pause execution during rdbLoadProgressCallback as its too risky to let it run
Former-commit-id: e70c01cb3e756d1e02ed190b76c73b7b7010c0d3
2021-05-06 00:42:49 +00:00
John Sully
40fdb3ce05 Add endurance testing to better detect threading bugs
Former-commit-id: 945e428aa110968479fdcdfc2d5c5308a99eadc3
2021-05-06 00:09:07 +00:00
John Sully
0c5585e5de Ensure multithread load works with FLASH storage
Former-commit-id: 24e2991c7aa2cef90a89b1640f7095235c5d34ed
2021-05-03 20:18:45 +00:00
John Sully
eaaff16cca Don't sync too often it hurts perf
Former-commit-id: a20e89a457a0a682483c22f0f1cdb5c93c574d28
2021-05-03 04:15:46 +00:00
John Sully
5583fbb838 Fix remaining test failures
Former-commit-id: 37e607f9b13b6601ff52e74e613fb369cab22b56
2021-05-03 02:37:02 +00:00
John Sully
4677c62428 Fix issue where async load thread misses work
Former-commit-id: a24a7b093295c5f5d69feee9fbc37c64cfa8aa03
2021-04-30 18:48:23 +00:00
John Sully
7352e4a45f Fix majority of test issues with multithread load
Former-commit-id: 4db88176e33e3615ffb90852b49e76b12d5b4622
2021-04-30 18:45:37 +00:00
John Sully
556f394ed9 Initial implementation of multithread load
Former-commit-id: 87b0657c3acd7a3c89964afe1702851b44467c9a
2021-04-30 17:32:54 +00:00
John Sully
15e1ee620f Fix TSAN errors in tests
Former-commit-id: 30207d2ab34f175b94f430f97581191343d23f1e
2021-03-16 02:29:24 +00:00
John Sully
7636676988 When we add a delay to rdb save for test purposes we still need to check for aborts
Former-commit-id: b057b4d05aae6c08b855bfc9ae48d41ad0e881f8
2021-03-10 02:53:15 +00:00
John Sully
902264efb7 Load perf fixes with a storage provider set
Former-commit-id: 861b19de00c75c9167cc25031292284ad1c21893
2021-03-04 07:41:06 +00:00
christian
53b7b83af6 Offload updating cached time to dedicated thread
Former-commit-id: 9bfc8a43952481b5b54a7b051d44b8bece4a18dd
2021-02-26 00:50:22 +00:00