9982 Commits

Author SHA1 Message Date
antirez
ec24d65c06 RDB: refactor some RDB loading code into dbAddRDBLoad(). 2020-04-15 16:03:16 +02:00
Guy Benoish
157906ca8d Typo in getTimeoutFromObjectOrReply's error reply 2020-04-15 16:03:16 +02:00
antirez
a889c94447 incrRefCount(): abort on statically allocated object. 2020-04-15 16:03:16 +02:00
antirez
d1a7b69981 Fix HELLO reply in Sentinel mode, see #6160. 2020-04-15 16:03:16 +02:00
antirez
d16b8275ff More powerful DEBUG RELOAD.
Related to #3243.
2020-04-15 16:03:16 +02:00
hwware
868ad19b96 fix spelling in acl.c 2020-04-15 16:03:16 +02:00
antirez
33725240c0 RDB: clarify a condition in rdbLoadRio(). 2020-04-15 16:03:16 +02:00
antirez
37a54d6e96 Fix zsetAdd() top comment spelling. 2020-04-15 16:03:16 +02:00
antirez
533fd1fe7b RDB: load files faster avoiding useless free+realloc.
Reloading of the RDB generated by

    DEBUG POPULATE 5000000
    SAVE

is now 25% faster.

This commit also prepares the ability to have more flexibility when
loading stuff from the RDB, since we no longer use dbAdd() but can
control exactly how things are added in the database.
2020-04-15 16:03:16 +02:00
hayleeliu
ebc872725f fix spelling mistake in bitops.c 2020-04-15 16:03:16 +02:00
antirez
e44a318939 Fix function names in zslDeleteNode() top comment. 2020-04-15 16:03:16 +02:00
antirez
02705216e0 RESP3: change streams items from maps to arrays.
Streams items are similar to dictionaries, however they preserve both
the order, and allow for duplicated field names. So a map is not a
semantically sounding way to deal with this.

https://twitter.com/antirez/status/1248261087553880069
2020-04-15 16:03:16 +02:00
John Sully
f69c169c04 Merge tag '6.0-rc3' into redis_6_merge
Redis 6.0 RC3.


Former-commit-id: b2cb10de5f39b4d8e1ee19877c2bdaf19eefd9db
2020-04-14 22:56:19 -04:00
John Sully
f7a49753a8 Fix merge issues and move timeout to C++
Former-commit-id: 1005a725d498e3c9f8c708d3c8b013a402149bd8
2020-04-14 22:37:26 -04:00
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
8fb3be9ce1 Cache fake client in replicaFeedSlaves
Former-commit-id: 8e81e5f29e718395b32a60ff263808305d0b5818
2020-04-13 22:45:15 -04:00
John Sully
4ed8f38a13 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
dfdc0cefdd Optimize replicaFeedSlaves by removing use of snprintf
Former-commit-id: 32561a99124542461de283d5035f869b5fc9bc2f
2020-04-13 22:11:34 -04:00
antirez
d7b07d3ded Fix ACL HELP table missing comma. 2020-04-08 10:56:31 +02:00
mymilkbottles
a953c6e55b Judge the log level in advance 2020-04-07 16:53:13 +02:00
antirez
fdd6da647d Speedup INFO by counting client memory incrementally.
Related to #5145.

Design note: clients may change type when they turn into replicas or are
moved into the Pub/Sub category and so forth. Moreover the recomputation
of the bytes used is problematic for obvious reasons: it changes
continuously, so as a conservative way to avoid accumulating errors,
each client remembers the contribution it gave to the sum, and removes
it when it is freed or before updating it with the new memory usage.
2020-04-07 16:53:13 +02:00
qetu3790
5680ddd31d fix comments about RESIZE DB opcode in rdb.c
fix comments about RESIZE DB opcode in rdb.c
2020-04-07 16:53:13 +02:00
antirez
b2f6881d83 Clarify redis.conf comment about lazyfree-lazy-user-del. 2020-04-07 16:53:13 +02:00
zhaozhao.zz
73e7bcc598 lazyfree: add a new configuration lazyfree-lazy-user-del
Delete keys in async way when executing DEL command, if
lazyfree-lazy-user-del is yes.
2020-04-07 16:53:13 +02:00
antirez
87924d6731 LCS: more tests. 2020-04-07 16:52:57 +02:00
antirez
e835f0fe0c LCS: allow KEYS / STRINGS to be anywhere.
Initially they needed to be at the end so that we could extend to N
strings in the future, but after further consideration I no longer
believe it's worth it.
2020-04-07 16:52:57 +02:00