138 Commits

Author SHA1 Message Date
Guy Benoish
234e6e7b09 Diskless-load emptyDb-related fixes
1. Call emptyDb even in case of diskless-load: We want modules
   to get the same FLUSHDB event as disk-based replication.
2. Do not fire any module events when flushing the backups array.
3. Delete redundant call to signalFlushedDb (Called from emptyDb).


Former-commit-id: aa8a3077a2d20e66e34f72f2860d0cc3daad496e
2020-04-14 17:21:10 -04:00
John Sully
36c9a2c897 Cache fake client in replicaFeedSlaves
Former-commit-id: 8e81e5f29e718395b32a60ff263808305d0b5818
2020-04-13 22:45:15 -04:00
John Sully
2e4e4f4134 Don't do active replica work if we're not an active replica
Former-commit-id: 63dd1fb599cfe959c0298825ed56ab06335b3fd7
2020-04-13 22:35:06 -04:00
John Sully
d683a62b43 Optimize replicaFeedSlaves by removing use of snprintf
Former-commit-id: 32561a99124542461de283d5035f869b5fc9bc2f
2020-04-13 22:11:34 -04:00
John Sully
de11140a17 Role command protocol corruption with multiple masters
Former-commit-id: 888d69a87a0076caa5b381d2531a6a638aa69051
2020-04-04 22:32:15 -04:00
John Sully
eeca58777d Fix subkey expires not replicating correctly, and AOF issues
Former-commit-id: bd183cdee13081a02efef5df75edf2292b872a16
2020-04-04 21:52:27 -04:00
John Sully
4cf5373b9c Merge branch 'unstable' into redis_6_merge
Former-commit-id: 294615531347d7db5d1b0c6a021ac9b05e0bcb48
2020-03-30 00:52:12 -04:00
John Sully
6283ca8a2c Raspberry Pi fixes (compile and replication)
Former-commit-id: c3d3c82f3a1751f063a3e77b4bde47f1802a517e
2020-03-27 12:46:25 -04:00
John Sully
8011cc3c6d Fix merge issues
Former-commit-id: b22d9cc27d0434578891c59825f1c8813a3a9b28
2020-03-25 22:26:27 -04:00
John Sully
aaa751acb8 Merge branch 'unstable' into redis_6_merge
Former-commit-id: 908cf5042ebcd7870166bd1a0bb450f37e5f3b4d
2020-03-25 22:12:22 -04:00
John Sully
356ed25c62 Fix issue #143
Former-commit-id: 6ec1641294b23e22a2a5dc5cc6098a02ce234df3
2020-03-25 21:55:31 -04:00
John Sully
a669a40ac6 Merge branch 'unstable' into redis_6_merge
Former-commit-id: 52fd4445a472fa3112e96c6a7ef66ecdfe6ce9f5
2020-03-04 17:13:01 -05:00
John Sully
de2b08c3f8 Add extra logging when reporting errors from masters - especially in rreplay
Former-commit-id: 5397f0b03312b8cace07a85333d8f035bdfb8d57
2020-03-04 17:09:12 -05:00
John Sully
d5ed6f1b5e Merge branch 'unstable' into redis_6_merge
Former-commit-id: 9dc8f30e4783d7e2e9749b155f6bf3df57c536a7
2020-02-28 23:56:26 -05:00
John Sully
48ba6c173c Fix crash propogating stale keys
Former-commit-id: d95bead3837edeca11f27f6f344eca8174ca53e3
2020-02-26 21:49:40 -05:00
John Sully
873d5537e8 Merge branch 'unstable' into redis_6_merge
Former-commit-id: 30a603ce05956195aa027a3400eafd48d2750ea7
2020-02-16 18:18:24 -05:00
John Sully
5780020388 Fix memory leak of ReplicaNestState on shutdown
Former-commit-id: 4781eda7225c2640e25387663c33ef74cd98b0c4
2020-02-16 03:43:29 -05:00
John Sully
ee99605def Merge branch 'unstable' into redis_6_merge
Former-commit-id: 18a5f46b6138e8a975dda0ed4897d19eed756d24
2020-02-11 02:39:08 -05:00
John Sully
47acc74247 Fix cases where duplicate RREPLAY is applied
Former-commit-id: c3317686f8b8d94a3b2295def899ae30e208f327
2020-02-11 00:59:07 -05:00
John Sully
66925e9a54 CLANG build fix
Former-commit-id: dc78bf1ccbd3dfd2de582d2a0d0be3223de3c7c3
2020-02-10 00:29:26 -05:00
John Sully
9cd3b8253d Ensure multi-master works for ring topologies
Former-commit-id: a7cc3aac28ccec4dadb80aa2cc7279c53982bc28
2020-02-10 00:25:03 -05:00
John Sully
a7b7040577 replication memory leaks
Former-commit-id: 73020b6a939f241ade7512d58a4ddf17f5a803c5
2020-01-30 17:56:24 -05:00
John Sully
8e7f3304b2 More threading fixes from merge
Former-commit-id: 4a980f4ddbebe3f62703aa3de67c93cdffb6b4b8
2020-01-28 17:54:00 -05:00
John Sully
e3b2ef962b reenable multithreading after merge
Former-commit-id: 9fbb9a551e83ddfc66894fba688dae7c9c3c7ae1
2020-01-27 19:59:04 -05:00
John Sully
39378f982e Fix most tests (still some failures)
Former-commit-id: da83e841255487efe0e4b13d42b2dcc55a369838
2020-01-27 18:16:19 -05:00
John Sully
8e5fe97525 Merge remote-tracking branch 'redis/6.0' into redis_merge
Former-commit-id: ef9a3cadcf94326bf2f163db7698aad9a3c01690
2020-01-27 02:55:48 -05:00
John Sully
6370309b58 Drop severity of master disconnect log when multimaster is enabled
Former-commit-id: edb993d52b25c30392c6eb1e60896498f991a223
2020-01-02 15:36:02 -05:00
John Sully
da17594170 Fix some static analysis warnings
Former-commit-id: 42a8f22c21706f9ddcaa63ceafc5ad817c1fe876
2019-12-27 18:17:22 -05:00
Petr Vaněk
6eadfd5d34 Rename redis.conf to keydb.conf
Former-commit-id: 4b01ad1e30568a5385881accedd8a841c7a7882f
2019-12-21 15:00:24 -05:00
John Sully
3668715ba3 Fix issue #83
Former-commit-id: 3028a890ef11cd99b2c7538de0f480d2466eb150
2019-11-21 20:05:16 -05:00
John Sully
633b7398e1 Fix issue #107, active replicas do their own expires
Former-commit-id: 8e4f323439df29a5e8c0de9db7a848291721fd07
2019-11-20 19:44:31 -05:00
John Sully
bd9ea70609 Two fixes: 1) Remove race conditions by not locking clients when async writing. 2) Don't derefence dangling pointers in lambda
Former-commit-id: cb93752aff4c67d4475e9ed17833335716c45744
2019-10-24 23:07:02 -04:00
John Sully
5f930a4f79 If a replica is about to be closed, don't wait on its lock (potential deadlock)
Former-commit-id: 4986dc6da9855ba14d760a89f13ec40c8bea4baf
2019-10-23 13:20:23 -04:00
John Sully
c61b6cc8fd Update more slave instances to use replica (Issue #75)
Former-commit-id: 252725d50fc9d4ff2b6e9246a36c38176d61beae
2019-10-13 12:29:20 -04:00
John Sully
d4e4b4f4d1 Update a few uses of slave to use the new replica terminology (Issue #75)
Former-commit-id: c15633ea9e784ef0e12e4015a75245661a8cf1b7
2019-10-13 12:12:05 -04:00
John Sully
fc97c22819 Fix an intermittent crash when replicationCron happens before slavesdb is update
Former-commit-id: 27c9ae667e515819d5be06722722ed6ff43a3205
2019-10-13 12:04:54 -04:00
John Sully
2c6fdf0f4e RREPLAY command now takes a DB argument
Former-commit-id: 6e1e5bd08b59f8ad4653621a6c01fcf3a76f0692
2019-09-28 14:59:44 -04:00
John Sully
98197d7d99 Fix leaking stale RDBs during multimaster sync
Former-commit-id: e1c96209510b374e644e5d7e7b6a009ed0f27c32
2019-09-27 13:17:29 -04:00
John Sully
9f3cbd580e Fix multi master bugs: 1. we fail to create the temp file. 2. We use a master RDB as our backup even though we merged databases (and therefore it is not representitive)
Former-commit-id: e776474f68a2824bb7d4082c41991a9a9f3a9c9d
2019-09-26 20:35:51 -04:00
John Sully
ab48b2bfed Fix issue where Active Replicas were commiting data to the wrong database under load
Former-commit-id: ac595ebe371480a924d542aa62733854eb7c527a
2019-09-06 13:30:28 -04:00
John Sully
f3aa422a3f RREPLAY failures should be logged
Former-commit-id: 08b6a04055e950e53f043391ec9f9a09f654b1ee
2019-07-24 22:49:30 -04:00
John Sully
f31b1fd06b Issue #64 RREPLAY isn't binary safe. Add fix and test.
Former-commit-id: afe66288fe9df6d8247d459e57858430f1ec7a25
2019-07-24 22:31:02 -04:00
John Sully
f4c0c12e71 Merge commit '074d24df1e82b5c794a5da9fb6cda5b77b60b27b' into unstable
Former-commit-id: ee460301fd160cf3fc82e52cf47d4a5f7503d781
2019-07-18 23:20:46 -04:00
John Sully
c2eba1f742 Merge commit 'caf74e507e6535dab58ce6f3db19f8b594b5f7ca' into unstable
Former-commit-id: 8ebe2fce3da506639acb37fedf1a2d3e47669572
2019-07-18 23:18:42 -04:00
John Sully
79731e805a Crash when aborting SYNC with a master on a thread other than main
Former-commit-id: a19d0f67b9fffefd9029b9a2ef3358b110302bbf
2019-07-15 14:55:41 -04:00
John Sully
03d41318b0 Add Active Replication tests
Former-commit-id: 528d10091fda0d2c56674e825c4f70467587955f
2019-07-12 03:54:41 -04:00
John Sully
3498002d9e Fix more accounting errors with active replication and the replication offset. Specifically we don't update repl_ack_off as frequently as we do reploff_skipped
Former-commit-id: 6cf85d1d01e56de0bb6e5d34590623cd8dabd32b
2019-07-11 19:20:12 -04:00
John Sully
361b7655ef Fix active replication offset synchronization accounting, and enable the wait command
Former-commit-id: a5784ef09e71a9a45780a8f3dbab875b1f1fe1a5
2019-07-11 17:00:23 -04:00
John Sully
88b5a4e25f Fix crash adding duplicate replica. Just send an error instead
Former-commit-id: 97b65ce19c09188acd0d662aad8d774a55531437
2019-06-02 15:50:50 -04:00
John Sully
1d0036882c Fix: Active replication falls behind under high load
Former-commit-id: 3d0de946bb73a34f96cd773e85c102c2743e6480
2019-05-18 20:23:20 -04:00