214 Commits

Author SHA1 Message Date
antirez
0fac746f0e PSYNC2: meaningful offset implemented.
A very commonly signaled operational problem with Redis master-replicas
sets is that, once the master becomes unavailable for some reason,
especially because of network problems, many times it wont be able to
perform a partial resynchronization with the new master, once it rejoins
the partition, for the following reason:

1. The master becomes isolated, however it keeps sending PINGs to the
replicas. Such PINGs will never be received since the link connection is
actually already severed.
2. On the other side, one of the replicas will turn into the new master,
setting its secondary replication ID offset to the one of the last
command received from the old master: this offset will not include the
PINGs sent by the master once the link was already disconnected.
3. When the master rejoins the partion and is turned into a replica, its
offset will be too advanced because of the PINGs, so a PSYNC will fail,
and a full synchronization will be required.

Related to issue #7002 and other discussion we had in the past around
this problem.


Former-commit-id: 5d6e8fe3e3e43162f0c57f580b6e8432274fca30
2020-04-14 17:56:09 -04:00
John Sully
f084ee6f17 Fix merge conflicts from cherry-pick
Former-commit-id: 57956b3fd2d05581c976f58d07e245896d3a515b
2020-04-14 17:33:54 -04:00
antirez
34f7c653d5 Remove RDB files used for replication in persistence-less instances.
Former-commit-id: b323645227a3e2cc5928e649586221aba508b10d
2020-04-14 17:27:05 -04:00
John Sully
23d75b45ec Merge branch 'redis_6_merge' into keydbpro
Former-commit-id: 8d8115ff59f5838e13e911416eff7dfe2c0d92dc
2020-04-06 01:25:15 -04:00
John Sully
945f40c76a Fix failure to AUTH with master when masterauth is set last
Former-commit-id: 3fdc8608f35b9e333a1c789b039d16722a6ceef5
2020-04-06 01:24:59 -04:00
John Sully
6f15ce125c Add the ability to set a starting core # when setting thread affinity
Former-commit-id: 9e2e2067c6df5919f1c6b8b9e6e3457c7edc0755
2020-04-04 22:58:17 -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
f5ab6801be Merge branch 'redis_6_merge' into keydbpro
Former-commit-id: 86f7292ed375d509645458704828e72fdbfea936
2020-03-30 00:57:58 -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
754138a94c Allow active replicas to connect to each other when replica-serve-stale-data is set
Former-commit-id: f2ca2aa1f70956a0309d6a2441417a80383fd717
2020-03-30 00:51:40 -04:00
John Sully
138ce49a96 merge
Former-commit-id: 187773190f153f8a7236bc2e4f42bffe6885f727
2020-03-26 01:16:36 -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
5e96404ad8 Give a better error when handling std::terminate
Former-commit-id: 7b79ec360ba046da6d9dbf3cc731bbdee1458d34
2020-03-25 16:27:24 -04:00
John Sully
3eb99b4811 Merge branch 'redis_6_merge' into keydbpro
Former-commit-id: 44f1b065ed6d3b0ad2a62f093432743b98fad6be
2020-03-25 15:47:24 -04:00
John Sully
af459476ea Merge branch 'unstable' into redis_6_merge
Former-commit-id: 718aee242dd75abd16a5a6a89353d2a35f37b010
2020-03-25 15:47:12 -04:00
John Sully
79f48a214e Prevent issue where count can be out of sync temporarily, causing crashes where we expect the count to be perfect
Former-commit-id: 77c9f36413c6f0cbb0b13a7ec746746c97faadcd
2020-03-24 00:21:12 -04:00
John Sully
dada212214 Merge branch 'RELEASE_5' into unstable
Former-commit-id: a0bc2084128f991697d3e1b7473d14c55afdd785
2020-03-19 15:38:16 -04:00
John Sully
1bdccb3c42 Log which thread a message came from
Former-commit-id: bc1eccb66d3302d6c99588fb4a5a879e1ef243b1
2020-03-19 15:37:24 -04:00
John Sully
682d16b7d3 Special case version 0.0.0 which is equal to any version
Former-commit-id: 869d037490b6905674f75a8552898aed72148558
2020-03-17 17:25:36 -04:00
John Sully
ebe0b918bc Cache count of keys in database
Former-commit-id: 7cd266030ad82b5fddd4668d666adc95e1bed475
2020-03-17 17:11:41 -04:00
John Sully
41249c28ff Merge branch 'redis_6_merge' into keydbpro
Former-commit-id: aea8413a15001e2c27cf03dd41fa15151b0d3ccb
2020-03-15 18:48:45 -04:00
John Sully
c7f1eab8a4 Merge branch 'unstable' into redis_6_merge
Former-commit-id: 4671cd6002c50dd8484e59fd7434878053340702
2020-03-15 18:47:27 -04:00
John Sully
15df3ed91d Handle HTTP error codes with MOTD
Former-commit-id: 2ec0b2cd206f2c73fabcda5d59751b013aa8cfbf
2020-03-15 18:47:01 -04:00
John Sully
34fca59d4a Update MOTD url for Pro
Former-commit-id: feed518042f3046016c26beda1c08cc721914943
2020-03-15 18:34:42 -04:00
John Sully
52bd8f19a5 Merge branch 'redis_6_merge' into keydbpro
Former-commit-id: 2765895981196adf6a8300eb4a704d60ec651f56
2020-03-15 18:34:15 -04:00
John Sully
d73ac7e377 Merge branch 'unstable' into redis_6_merge
Former-commit-id: 07effa392564f3c53989600e803103f3e3951fe7
2020-03-15 18:33:24 -04:00
John Sully
3b1f36a521 Update MOTD URL
Former-commit-id: cd76a71de393eb527f98024ea85a9492ef0c36ca
2020-03-15 18:32:05 -04:00
John Sully
b29f96e007 Merge branch 'redis_6_merge' into keydbpro
Former-commit-id: bef19fefeb293e44e31dfefe383eef99e4cd7721
2020-03-04 17:15:54 -05: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
21fb601851 MOTD refactor
Former-commit-id: 6c78ec7c41223b3381e19fdf78478f66b4959dc9
2020-03-04 16:22:55 -05:00
John Sully
87b36b00df Add option to build pro without license checks
Former-commit-id: 0713518d2f34559a06db31a9023228b91ce60af3
2020-03-01 22:16:25 -05:00
John Sully
51b6e9eb3f Merge branch 'redis_6_merge' into keydbpro
Former-commit-id: 4e8000d43cd4e23c90bf7e262835fae5ae6da34d
2020-03-01 19:18:34 -05:00
John Sully
0648930af4 Rename cron command to KEYDB.CRON and add help
Former-commit-id: 1b925119b5ad24ab3a91763bf9f4633f5bc9fef4
2020-03-01 19:18:21 -05:00
John Sully
765ffea018 Rename cron command to KEYDB.CRON and add help
Former-commit-id: 3eb847e28f6df45528dcebc6761290ff60248e78
2020-03-01 19:17:58 -05:00
John Sully
b5b8e0e194 Merge branch 'redis_6_merge' into keydbpro
Former-commit-id: a60d71e13335bdf231b5f1bec61b457056dc5e0a
2020-02-28 23:57:45 -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
f68f3d0d14 Fix not respecting max clients config, issue #147
Former-commit-id: 54c96d19954fbddcfd2a307e436ca3290c76e0fb
2020-02-28 22:04:42 -05:00
John Sully
6ea9021773 Change Redis to KeyDB
Former-commit-id: e6316c8106caa9103d2bef6af35721a0be87aae0
2020-02-17 23:46:17 -05:00
John Sully
c33886e152 Change Redis to KeyDB
Former-commit-id: 51ea3cf30ca99be8064fc95c8ddd0d61fdcc5c5d
2020-02-17 23:46:01 -05:00
John Sully
5e885739ef Change Redis to KeyDB
Former-commit-id: 6ad6c1d780f26a0785f39586b074ac3bb3132e09
2020-02-17 23:45:40 -05:00
John Sully
20924db872 Merge branch 'redis_6_merge' into keydbpro
Former-commit-id: 82b957be47c828238554ba8b365e2d0a45994bc2
2020-02-17 19:56:07 -05:00
John Sully
77f90d9515 Incorrect use of std::atomic
Former-commit-id: 5dc84850addff084c95f9280718fcb1d6fee3b82
2020-02-17 19:07:13 -05:00
John Sully
447dccb083 Merge branch 'redis_6_merge' into keydbpro
Former-commit-id: b16090958d392a6de908562dee65a02c851f07ae
2020-02-16 20:07:03 -05:00
John Sully
79e945f5e5 Merge branch 'unstable' into redis_6_merge
Former-commit-id: 6a71de7835f427cebb23e4c2f0d19ed63a02f09e
2020-02-16 19:14:51 -05:00
John Sully
4d01660331 Graceful shutdown of server threads when quit is requested
Former-commit-id: b9db899f6ccea62222170c6eec264d403a7a911d
2020-02-16 18:53:46 -05:00
John Sully
a52e7fa2af Merge branch 'redis_6_merge' into keydbpro
Former-commit-id: 4091800e499cade8bc188c9e6f52f535c500f282
2020-02-11 02:54:24 -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
e30630d53b Implement an error handler so bug #125 can't happen
Former-commit-id: 16a019dba053fd0654116ff98a2ad0b66a9ed4e6
2020-02-11 01:41:00 -05:00
John Sully
3f62860342 Fix issue #119
Former-commit-id: 46224721237616c345f6726b721a354d7bda71df
2020-02-10 19:52:57 -05:00