257 Commits

Author SHA1 Message Date
John Sully
c7108ac57e PSYNC production fixes 2022-04-26 02:07:28 +00:00
Vivek Saini
a0208b7301 Removed mergeReplicationId 2022-04-26 01:55:22 +00:00
Vivek Saini
d7b4f1e492 call aeThreadOnline() earlier 2022-04-26 01:55:22 +00:00
Vivek Saini
4d053b1aa1 Inclusive language 2022-04-26 01:55:22 +00:00
Christian Legge
0ed0745d90 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
c529f0e1ed Integrate readwritelock with Pro Code 2022-04-26 01:55:22 +00:00
Malavan Sotheeswaran
f35baf8e7d hide forklock object in ae 2022-04-26 01:55:22 +00:00
malavan
a352731178 fork lock for all threads, use fastlock for readwritelock 2022-04-26 01:55:21 +00:00
John Sully
d06b9cbbe0 Handle RREPLAY errors gracefully 2022-04-13 12:51:00 -04:00
John Sully
269b05b918 Log the connected masters in the INFO command 2022-04-02 01:20:45 -04:00
John Sully
c540e4b6e5 Do not save while loading 2022-04-01 05:08:08 +00:00
John Sully
b787828ef9 Fix mac build warnings 2022-03-07 19:28:39 -05:00
John Sully
53fbf7b362 Fix fast-sync perf issue while server is under load (batch size too small) 2022-03-07 16:40:01 -05:00
John Sully
d77bbee238 Fix mac build breaks and remove license checks (won't work on mac) 2022-03-07 14:50:31 -05:00
John Sully
1a597c78bd Handle the case where querybuf data is read by the fastsync read handler
Former-commit-id: c4a5b904e941e09132413abc3b4d86c59c342051
2021-12-27 00:15:09 -05:00
John Sully
30bba7f7de Fix partial sync failures
Former-commit-id: 7e9f7c0c4f520392a930ab72951e287f52c711ab
2021-12-26 05:16:58 -05:00
John Sully
cc0417d790 Fix repl-psync-flash test instability
Former-commit-id: 310b0cf5413dbf3e7aa67e9b9c31869f3e994291
2021-12-23 17:30:14 -05:00
John Sully
373f584465 Fix partial sync corruption with FLASH
Former-commit-id: 532f58c0539b775c040c0dd9a2ad3dc349faf87a
2021-12-23 00:04:28 -05:00
John Sully
b13134c501 Reenable TCP No Delay
Former-commit-id: e11211cdfeca46574a03f6f8210bbe1ab3d70961
2021-12-22 18:42:11 -05:00
John Sully
d22a9dd64a Fix memory leak
Former-commit-id: c5b9adf47e30658359071d458cfb16a094dc8e28
2021-12-22 18:41:50 -05:00
VivekSainiEQ
bfcea943ea Merge remote-tracking branch 'mainpro/PRO_RELEASE_6' into keydbpro
Former-commit-id: 5a32d66ee382b6d227a67073afc81ca058d605ed
2021-12-06 20:43:23 +00:00
John Sully
5a3080dd8c Implent the force-backlog-disk-reserve flag
Former-commit-id: d39f7f4407f8935b1540dd302be3e24ac02c5700
2021-12-04 02:07:03 +00:00
malavan
4dcb233e08 fix potential compilation fail on gettid in replication.cpp
Former-commit-id: edb6b240a7785b707652a168d90f46d8744dd4c7
2021-12-01 20:50:18 +00:00
Malavan Sotheeswaran
ac1775b8a6 Merge branch 'async_commands' of https://gitlab.eqalpha.com/external-collab/keydb-pro-6 into async_commands
Former-commit-id: 1afa51c4d21d695c052dbec690bf3880b243dbec
2021-11-30 12:17:46 -05:00
Malavan Sotheeswaran
250e5b39a7 Merge branch 'keydbpro' into async_commands
Former-commit-id: 9eaddb8ca1424ff3225dac9c144d23848228c7d2
2021-11-30 11:47:51 -05:00
Malavan Sotheeswaran
9afbac8a83 Merge branch 'fastsync_collab' into 'keydbpro'
Fastsync collab

See merge request external-collab/keydb-pro-6!9

Former-commit-id: 8f410e4b814ea6ac506ab540ee1394834fd1d8a8
2021-11-26 20:53:00 +00:00
christianEQ
47f453a5a1 don't save master if host is null
Former-commit-id: 8238d8da82c483c093f5248b9dac983bc542e20f
2021-11-26 20:36:46 +00:00
Malavan Sotheeswaran
414277b098 Merge branch 'flash-psync' into 'fastsync_collab'
Flash Partial Sync

See merge request external-collab/keydb-pro-6!6

Former-commit-id: 2ebf2a8abd8df5c4cf3a5d759491962d050e8cc5
2021-11-26 18:59:16 +00:00
malavan
76b900db22 client lock for fast sync replbuffer, delay fast sync for next replication cron
Former-commit-id: 9fe7f8328d66f9ec57060934462ad85ef60c36aa
2021-11-26 17:46:41 +00:00
John Sully
2ed6d3f03a Implement the disk backed backlog functionality
Former-commit-id: 759cc01c6ba05f9a865c11580cc4975b5f1bd1d6
2021-11-26 03:05:23 +00:00
malavan
ef1dc90c78 Merge remote-tracking branch 'origin/fastsync_collab' into fastsync_collab2
Former-commit-id: 176c00615769e1a73eb44f8fe7a6cacfa2ae539d
2021-11-24 22:00:18 +00:00
malavan
a382f2fffd remove async write from fast sync repl buffer and fix some bugs
Former-commit-id: 6c45706f75d8322281296d9c73a3fac4f7f383a1
2021-11-24 21:59:01 +00:00
VivekSainiEQ
f9a355900a Merge remote-tracking branch 'opensource/unstable' into PRO_RELEASE_6
Former-commit-id: 60da86471f68b13e2456e113ecd4aa117d95b134
2021-11-12 21:12:53 +00:00
John Sully
b666962ed8 Allow fast sync even if a background save is in progress
Former-commit-id: b98aadfb6875f366a63a9d27d47fb5ca60abaa03
2021-11-12 00:18:32 +00:00
christianEQ
4c3d5c83e5 save replid from storage on load
Former-commit-id: 8e5d0cb7035db30f35ead36aab52df07ab3c9bee
2021-11-11 13:43:00 +00:00
christianEQ
6ef6c917ec retrieve replid from IStorage rather than at load time
Former-commit-id: c25323439ce400ca91b2193aa2f464e7b09978fd
2021-11-11 13:43:00 +00:00
christianEQ
5f7fdb7c9e save master status to storage when masters change
Former-commit-id: 4989926a0028aed7d7700fd1d1f4ed27c20277cc
2021-11-11 13:42:39 +00:00
John Sully
57db38708f Fix multiple test failures
Former-commit-id: ba99418643e7b4a12e79bb08e4a7f152da28b861
2021-11-10 18:47:36 +00:00
John Sully
5cd72115d1 Prevent track changes from clearing out the cache and misreporting the key count
Former-commit-id: d7ceb59f11bc714e40f208cb8c774a5b762ad41e
2021-11-10 06:40:43 +00:00
John Sully
1ebf62da26 Initial implementation of snapshot fast replication. There are still a few TODOs in progress
Former-commit-id: 0febdcdab8693af443f350968ed3d8c80106675d
2021-11-09 19:36:07 +00:00
John Sully
b4eda0ef34 Fix slower performance during replication by better balancing client load on threads servicing a replica
Former-commit-id: 496f91d3f169fcfe6d94c2ea69cee402f8eb60ca
2021-10-22 03:16:33 +00:00
VivekSainiEQ
93b0482376 Resolved merge conflicts in prior commit
Former-commit-id: b88f06b16f3d9e58ec884c61d2d074d7a489775e
2021-10-21 22:35:15 +00:00
VivekSainiEQ
1d882b5ddd Merge tag '6.2.6' into Redis_626_Merge
Former-commit-id: e6d7e01be6965110d487e12f40511fe0b3497695
2021-10-21 22:33:55 +00:00
malavan
67ffa578d7 Merge remote-tracking branch 'opensource/unstable' into keydbpro
Former-commit-id: cf40fa5da29ba9574d20d706d0a41ca7001df95a
2021-08-11 20:41:54 +00:00
Christian Legge
9e562f1fe5 Add REPLPING command for use during replication (#329)
* added replping command for initiating replication

* backwards compatibility for replping (retry if not recognized)

* don't allow ping during loading (load balancer fix)

* changed replping warning to notice

Former-commit-id: d7f6bc16145206e96ffeb9941398d564c3dba6a9
2021-07-29 15:50:30 -04:00
John Sully
26750791b3 Merge branch 'keydbpro' into keydbpro_collab
Former-commit-id: e4e5c6696c6d831924f314a198b266b10d831e14
2021-07-19 20:51:27 +00:00
John Sully
48b30ec34a Do not resize replica buffer past the max client limit
Former-commit-id: ba116500ca4fd53e4e40f04fc33981e60bb21ab7
2021-07-18 20:48:08 +00:00
John Sully
29ef9708fa 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
653f7c96a0 Do not update batch variables when not in a batch
Former-commit-id: ad1e0286cf9b2d9de33c65e8e798a05ead3f7d5a
2021-07-18 20:28:42 +00:00
christianEQ
e400c205ce fix warnings for mac build
Former-commit-id: 570fbd014944a655f6c8e7216f2b9226f378c7c7
2021-07-15 20:14:14 +00:00