John Sully
3e656bcb3f
Merge commit '2a820251c8ffba152e00ef7b1ca5e7a477087d33' into redis_6_merge
...
Former-commit-id: 50768cd242c0360c6e943c57f866789280d30dc0
2020-04-14 22:25:44 -04:00
John Sully
ce54857237
Merge commit '454e12cb8961f21c9dd8502dc82ae6ffd7e22fe0' into redis_6_merge
...
Former-commit-id: cc3ebbe5194e9744fb84ce490e90ac5fbe7f8716
2020-04-14 22:19:29 -04:00
John Sully
7aaed24204
Merge commit '714ae38ee1fc260df6fc5708463accd74a93c215' into redis_6_merge
...
Former-commit-id: 8056e349e0c76519a62ca97e5b754e55b1bac5c0
2020-04-14 21:26:51 -04:00
John Sully
b223579bac
Merge commit 'd3491c5182b97535cfdf2c3d4f9d0762c608e1ff' into redis_6_merge
...
Former-commit-id: 0001f59c8d0724ca42544b209951b6d1d7141ce3
2020-04-14 21:16:38 -04:00
John Sully
8750cb5a3b
Merge commit '07c75f60f3fe0b300fd7913bab3d2d7e612afb03' into redis_6_merge
...
Former-commit-id: 2941792a85653258a36f8eb02189132ec7835242
2020-04-14 21:13:42 -04:00
John Sully
0725491043
Merge commit 'c609bf3f2c7f0982f632f82623ee4802868b8ef1' into redis_6_merge
...
Former-commit-id: 320bc3c0329ff9e5a980b79426b719addae381cf
2020-04-14 21:04:42 -04:00
John Sully
90cbdd5573
Merge commit 'c208956fbe077e8249d2965dec2ea1b9b7588d6d' into redis_6_merge
...
Former-commit-id: 2825e515504cffcf6000be2e547ab1cbd86441bc
2020-04-14 20:55:29 -04:00
John Sully
4d4a7d656b
Merge commit '00e53fb140fb67d329aff6cd2200f1eaf9e80cf5' into redis_6_merge
...
Former-commit-id: cbdd47d0569cd7dd5d45fa764f3f966a9bf7aee9
2020-04-14 20:44:27 -04:00
John Sully
4f56e9c3b0
Merge commit 'e91ca9fee9c56ef319b407b104afc435be0c53cb' into redis_6_merge
...
Former-commit-id: 516c8c6e231cdfc87a3db5be401407cb7afa3937
2020-04-14 20:42:48 -04:00
John Sully
68c50ae876
Merge commit '6718d5d37517bd927635649708913affb98f67c9' into redis_6_merge
...
Former-commit-id: ef1236b6009ebd7b00f6dd2f43df57ad95e51253
2020-04-14 20:19:48 -04:00
John Sully
2c049c16a2
Merge commit '79e8b17d7b44c793d8b22668b8583a297ee1b387' into redis_6_merge
...
Former-commit-id: 28cbed1d13961c5568f2bdc50c6a23107d3434d0
2020-04-14 20:09:53 -04:00
John Sully
d48ea996e7
Merge commit '13fbdf970660b15011c4312f31137e58bbda5b2c' into redis_6_merge
...
Former-commit-id: cde199a7973ad63317b68f581df607321e12bf46
2020-04-14 19:43:04 -04:00
John Sully
6df76a3bfa
Merge commit 'a8e2bbe8f6a3f4833f286cc5049e6b52c87de1a9' into redis_6_merge
...
Former-commit-id: 5589a0a69ca6f5798b750a6a79f7e9b44d20e136
2020-04-14 19:22:44 -04:00
John Sully
2038fa270a
Merge commit '491949ee5bf4ffbfc746ea4ed5a6d673b0e2fb81' into redis_6_merge
...
Former-commit-id: 09e8fb17cd0889ad17461e48446221b3955f5a8f
2020-04-14 18:44:42 -04:00
John Sully
9039879f80
Merge commit '2ad427f862084e0e18fbd6c313af35ccdb6c68f7' into redis_6_merge
...
Former-commit-id: d71c4c221580221c2c31b5e3b5d23bab50a544dc
2020-04-14 18:30:26 -04:00
John Sully
06017d7900
Merge commit '9a39a227fff45baa0f1532dba017f31ac71b68e5' into redis_6_merge
...
Former-commit-id: 6f621e6480fd629593de8b264117a8b130b21175
2020-04-14 18:29:03 -04:00
John Sully
c198d81582
Merge commit 'dff5370c8be0dcef1728b95b17906d2494ce9bf2' into redis_6_merge
...
Former-commit-id: 8e33c2d30116ea469238c340ed367f0182856454
2020-04-14 18:05:10 -04:00
John Sully
17a1637c89
Merge commit '87d059a7454aad2c3a9810ddafd33c3a9e4be383' into redis_6_merge
...
Former-commit-id: 52aca124c30815fc1609ce2fb36081823ef5ddef
2020-04-14 18:04:51 -04:00
antirez
910db44fc5
Jump to right label on AOF parsing error.
...
Related to #6054 .
Former-commit-id: c7159d58f118e840a3b9f72160d1abf3e8a86b3d
2020-04-14 18:03:22 -04:00
antirez
c38bc83f47
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
Oran Agra
031d5044bf
reduce repeated calls to use_diskless_load
...
this function possibly iterates on the module list
Former-commit-id: 99762dac23e26a217fcd66531ee4ca9b4d13a7ac
2020-04-14 17:34:36 -04:00
John Sully
c168ae6cfe
Fix merge conflicts from cherry-pick
...
Former-commit-id: 57956b3fd2d05581c976f58d07e245896d3a515b
2020-04-14 17:33:54 -04:00
antirez
f7e8240900
Remove RDB files used for replication in persistence-less instances.
...
Former-commit-id: b323645227a3e2cc5928e649586221aba508b10d
2020-04-14 17:27:05 -04:00
Johannes Truschnigg
0ef7e8e0b2
Signal systemd readiness atfer Partial Resync
...
"Partial Resynchronization" is a special variant of replication success
that we have to tell systemd about if it is managing redis-server via a
Type=Notify service unit.
Former-commit-id: dd9502f373eb7e32aee69a30dcb521bea3ccd3ad
2020-04-14 17:22:30 -04:00
Guy Benoish
49dda32114
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
a0447f23ac
Fix failure to AUTH with master when masterauth is set last
...
Former-commit-id: 3fdc8608f35b9e333a1c789b039d16722a6ceef5
2020-04-06 01:24:59 -04:00
antirez
2a820251c8
timeout.c created: move client timeouts code there.
2020-03-31 16:57:20 +02:00
Oran Agra
454e12cb89
AOFRW on an empty stream created with MKSTREAM loads badkly
...
the AOF will be loaded successfully, but the stream will be missing,
i.e inconsistencies with the original db.
this was because XADD with id of 0-0 would error.
add a test to reproduce.
2020-03-31 16:57:20 +02:00
antirez
c881ba1680
Precise timeouts: cleaup the table on unblock.
...
Now that this mechanism is the sole one used for blocked clients
timeouts, it is more wise to cleanup the table when the client unblocks
for any reason. We use a flag: CLIENT_IN_TO_TABLE, in order to avoid a
radix tree lookup when the client was already removed from the table
because we processed it by scanning the radix tree.
2020-03-31 16:56:46 +02:00
antirez
0e5723ff18
Precise timeouts: fix comments after functional change.
2020-03-31 16:56:46 +02:00
antirez
444089c55e
Precise timeouts: use only radix tree for timeouts.
2020-03-31 16:56:46 +02:00
antirez
c49ff92431
Precise timeouts: fast exit for clientsHandleShortTimeout().
2020-03-31 16:56:46 +02:00
antirez
e512707aed
Precise timeouts: fix bugs in initial implementation.
2020-03-31 16:56:46 +02:00
antirez
cedeec01f2
Precise timeouts: working initial implementation.
2020-03-31 16:56:46 +02:00
antirez
b636856df0
Precise timeouts: refactor unblocking on timeout.
2020-03-31 16:56:46 +02:00
antirez
577656841f
PSYNC2: fix backlog_idx when adjusting for meaningful offset
...
See #7002 .
2020-03-31 16:56:46 +02:00
伯成
2a13f59a18
Boost up performance for redis PUB-SUB patterns matching
...
If lots of clients PSUBSCRIBE to same patterns, multiple pattens matching will take place. This commit change it into just one single pattern matching by using a `dict *` to store the unique pattern and which clients subscribe to it.
2020-03-31 12:47:14 +02:00
John Sully
38d16ea581
Merge branch 'redis_6_merge' of https://github.com/JohnSully/KeyDB into redis_6_merge
...
Former-commit-id: 95b4f899c5a9218f7ed4cbb81b7f0b894bffe83f
2020-03-30 00:52:43 -04:00
John Sully
549b15d5a2
Merge branch 'unstable' into redis_6_merge
...
Former-commit-id: 294615531347d7db5d1b0c6a021ac9b05e0bcb48
2020-03-30 00:52:12 -04:00
John Sully
12f76b2b95
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
883de95712
Don't send build log to stderr
...
Former-commit-id: b20bf10fda319389c6e7d06cc7cc6c6b6b4f1c6c
2020-03-28 23:36:57 -04:00
John Sully
f8f752f2ab
Merge branch 'unstable' into redis_6_merge
...
Former-commit-id: 208c15bc16aa2a0abf8f8dbcb132316134f0be31
2020-03-27 14:50:37 -04:00
John Sully
4af17a23d8
Raspberry Pi fixes (compile and replication)
...
Former-commit-id: c3d3c82f3a1751f063a3e77b4bde47f1802a517e
2020-03-27 12:46:25 -04:00
John Sully
f4caa84987
Fix merge issues
...
Former-commit-id: b22d9cc27d0434578891c59825f1c8813a3a9b28
2020-03-25 22:26:27 -04:00
John Sully
9c4b66b9a4
Merge branch 'unstable' into redis_6_merge
...
Former-commit-id: 908cf5042ebcd7870166bd1a0bb450f37e5f3b4d
2020-03-25 22:12:22 -04:00
John Sully
71fe6f7ba9
Fix issue #143
...
Former-commit-id: 6ec1641294b23e22a2a5dc5cc6098a02ce234df3
2020-03-25 21:55:31 -04:00
John Sully
b443553a3d
Give a better error when handling std::terminate
...
Former-commit-id: 7b79ec360ba046da6d9dbf3cc731bbdee1458d34
2020-03-25 16:27:24 -04:00
John Sully
b1c9dcaa05
Merge branch 'unstable' into redis_6_merge
...
Former-commit-id: 718aee242dd75abd16a5a6a89353d2a35f37b010
2020-03-25 15:47:12 -04:00
John Sully
118bd49a4e
Add roundtrip test for subkey expires
...
Former-commit-id: 56fc6b7deb59cfb3219d65c01c96969d3983e84a
2020-03-25 15:34:30 -04:00
antirez
28d402d31b
PSYNC2: meaningful offset test.
2020-03-25 15:55:24 +01:00