10405 Commits

Author SHA1 Message Date
christianEQ
502b9ec2ce added REDIS_CFLAGS to makefile for backwards compatibility
Former-commit-id: b2fb4f4b9bba28f45828ead5670fc206a4c2a2f6
2021-07-14 21:51:44 +00:00
christianEQ
d10336b007 various branding and cleanup fixes
Former-commit-id: e3c619eca4755c96af83e1959a6ea5ba95734e93
2021-07-08 02:46:42 +00:00
christianEQ
b35847e709 changed redis_flags names to keydb in makefile
Former-commit-id: 07273936271536e4a57efdb7a31bc34e5b8d50f1
2021-06-14 16:09:42 +00:00
christianEQ
45480d3aaf removed outdated comment in server.cpp
Former-commit-id: 98f08034a13341059b9b1690989e7ef0207ac920
2021-06-11 18:17:18 +00:00
John Sully
d1337c9bbe Don't pass on flags indicating membership in a list
Former-commit-id: b1f662d6393eea77c2870c8a1f955374b1a3b57f
2021-05-30 05:11:18 +00:00
John Sully
54f921aae9 Fix a leak in the benchmark
Former-commit-id: aa5b27b040c69f0c7d166203bed7110bc8c0bc87
2021-05-30 02:55:39 +00:00
John Sully
f3d74cf075 Ensure our connections are touched only on the right thread
Former-commit-id: e8a44821d016e9f9b8ca873757d4786c4c271b7c
2021-05-30 02:08:30 +00:00
John Sully
542a83edec Handle race where a different thread cancels the replication but we haven't closed the connection
Former-commit-id: 92e48f071792985c2fb7f4c722329e832cd4c77b
2021-05-30 02:08:02 +00:00
John Sully
24377fa8fc Delete pipe on the right thread so event handlers are cleaned up
Former-commit-id: 9742c44db52929b755d6ecce16f91bee07f495ff
2021-05-30 02:07:31 +00:00
John Sully
eb1bf61a58 Don't leave dangling client pointers in the process list
Former-commit-id: 5d16f519508fcb96a8803fcefa69d6c75fa174ac
2021-05-30 02:06:47 +00:00
John Sully
4f690c1f81 Don't leak AE control pipes to fork children
Former-commit-id: 1ed2e8b5bcb485f7d1e073545a190bb95405a7d6
2021-05-30 02:06:20 +00:00
John Sully
292bf82483 Mac build break fixes
Former-commit-id: 083b54472c65239b03c8a17f6b1ae6447d273e9a
2021-05-28 22:40:03 -04:00
John Sully
97d6875862 Fix failover command test failures
Former-commit-id: d3c37c7159a92319759a33851669862a82cf1b28
2021-05-29 01:19:12 +00:00
John Sully
0cdb32f3e4 Remove dup'd code from merge
Former-commit-id: 807f0201845a698514f1ce9382338bc74ba57e5e
2021-05-29 01:08:52 +00:00
John Sully
eb000a8c0f ProcessingEventsWhileBlocked is relevant only to the current thread
Former-commit-id: b400be68b7a45e73ea851c11dfee3fdcbacb4794
2021-05-29 01:08:43 +00:00
John Sully
76a47aa3e1 Make processClients reentrant
Former-commit-id: e39bdb58ec28d80c5ed2cf15ef6bc7b884e14d4b
2021-05-29 01:08:14 +00:00
John Sully
ea5317c310 Don't have dangling expires
Former-commit-id: 83c8977033d79b6ec69e677dff19f68df53535be
2021-05-29 01:07:46 +00:00
John Sully
d53454a392 Ensure multi-thread handling of cached master is equivalent to single thread case
Former-commit-id: 7ee766aee13f501923afc127a74c79b29c0b0aa2
2021-05-26 17:29:47 +00:00
John Sully
96622e82f5 Avoid differences between single thread and multi-thread
Former-commit-id: 848c5ad784d6437533f6c86663b81e41e06a11ea
2021-05-26 17:29:01 +00:00
John Sully
551edf9443 Eliminate test issue while clients wait for async free
Former-commit-id: a41fb1b036dd4a933093f1df6dffe16f820153e4
2021-05-26 01:18:47 +00:00
John Sully
7cdbd48e7a Fix failure sending deferred aggregate lengths to clients on other threads (merge bug)
Former-commit-id: 915117ae7bac90fe41c7f36d97bcd654d6e90b62
2021-05-25 20:51:18 +00:00
John Sully
070ea24010 Remove duplicate code
Former-commit-id: de5fa787625ae27ce16737b539a981a0dede091a
2021-05-25 20:50:40 +00:00
John Sully
e75e080e7e Fix TLS test failure due to tls-port not marked as runtime configurable
Former-commit-id: b0c8efd8407168d1d5435f417932323656efe109
2021-05-25 20:50:23 +00:00
John Sully
e69b6d89e6 Fix crash in TLS due to merge
Former-commit-id: 1dcd5edbf953b74c9186672f8f157c6bd56bcdf8
2021-05-25 18:52:27 +00:00
John Sully
01d0145ed9 Build break fix: Remove dependency on future C++ feature
Former-commit-id: 87d7fc8e5d78a996562c477ecc0833c63f6fd8d7
2021-05-25 18:52:08 +00:00
John Sully
87add83a32 More OS X build breaks
Former-commit-id: 100a747eabf42bccbcf2991349be0fb3810799b6
2021-05-25 18:35:45 +00:00
John Sully
ddd0ae9daf OS X build break fix
Former-commit-id: 105fd03ef8cd810e67c01e4d5a3ea7816e215a99
2021-05-25 18:32:31 +00:00
John Sully
209f6ed49c Fix uninitialized variable
Former-commit-id: 9395a9c1d90859f88f3d82d66e50083c8409a3f8
2021-05-25 18:30:07 +00:00
John Sully
98b366af04 Fix duplicate checks (resolve PR comments)
Former-commit-id: 02f7efd9d4804b71765ae11d7fcf7adca46af750
2021-05-25 16:57:49 +00:00
John Sully
caba5639f4 Fix TLS Build Errors
Former-commit-id: aea86c5977c01debb4f4a4340c866aa5c5f20f04
2021-05-25 16:55:59 +00:00
John Sully
5267928381 Merge tag '6.2.2' into unstable
Former-commit-id: 93ebb31b17adec5d406d2e30a5b9ea71c07fce5c
2021-05-21 05:54:39 +00:00
John Sully
fe8efa916b Merge tag '6.2.1' into unstable
Former-commit-id: bfed57e3e0edaa724b9d060a6bb8edc5a6de65fa
2021-05-19 02:59:48 +00:00
John Sully
61e054f826 Fix test hang
Former-commit-id: 23647390e628de07759f8e7d8768a7f638edf01d
2021-05-07 00:28:10 +00:00
VivekSainiEQ
7b982ae4c5 Changed branding in various locations
Former-commit-id: 96bca72bb4528a0789354ee4fd6bf3ab66d82bf7
2021-05-06 20:13:45 -04:00
Oran Agra
aa730ef1ea Redis 6.2.2 2021-04-19 21:39:40 +03:00
Oran Agra
f5ca1f9ee9 Merge unstable into 6.2 2021-04-19 21:36:00 +03:00
Viktor Söderqvist
61d3fdb474
Fix space included in links in modules API doc (#8818) 2021-04-19 21:35:14 +03:00
Hanna Fadida
53a4d6c3b1
Modules: adding a module type for key space notification (#8759)
Adding a new type mask ​for key space notification, REDISMODULE_NOTIFY_MODULE, to enable unique notifications from commands on REDISMODULE_KEYTYPE_MODULE type keys (which is currently unsupported).

Modules can subscribe to a module key keyspace notification by RM_SubscribeToKeyspaceEvents,
and clients by notify-keyspace-events of redis.conf or via the CONFIG SET, with the characters 'd' or 'A' 
(REDISMODULE_NOTIFY_MODULE type mask is part of the '**A**ll' notation for key space notifications).

Refactor: move some pubsub test infra from pubsub.tcl to util.tcl to be re-used by other tests.
2021-04-19 21:33:26 +03:00
guybe7
f40ca9cb58
Modules: Replicate lazy-expire even if replication is not allowed (#8816)
Before this commit using RM_Call without "!" could cause the master
to lazy-expire a key (delete it) but without replicating to replicas.
This could cause the replica's memory usage to gradually grow and
could also cause consistency issues if the master and replica have
a clock diff.
This bug was introduced in #8617

Added a test which demonstrates that scenario.
2021-04-19 17:16:02 +03:00
Harkrishn Patro
7a3d1487e4
ACL channels permission handling for save/load scenario. (#8794)
In the initial release of Redis 6.2 setting a user to only allow pubsub access to
a specific channel, and doing ACL SAVE, resulted in an assertion when
ACL LOAD was used. This was later changed by #8723 (not yet released),
but still not properly resolved (now it errors instead of crash).

The problem is that the server that generates an ACL file, doesn't know what
would be the setting of the acl-pubsub-default config in the server that will load it.
so ACL SAVE needs to always start with resetchannels directive.

This should still be compatible with old acl files (from redis 6.0), and ones from earlier
versions of 6.2 that didn't mess with channels.

Co-authored-by: Harkrishn Patro <harkrisp@amazon.com>
Co-authored-by: Oran Agra <oran@redislabs.com>
2021-04-19 13:27:44 +03:00
Wen Hui
0413fbc7d0
fix invalid master_link_down_since_seconds in info repication (#8785)
When replica never successfully connect to master, server.repl_down_since
will be initialized to 0, therefore, the info master_link_down_since_seconds
was showing the current unix timestamp, which does not make much sense.

This commit fixes the issue by showing master_link_down_since_seconds to -1.
means the replica never connect to master before.

This commit also resets this variable back to 0 when a replica is turned into
a master, so that it'll behave the same if the master is later turned into a
replica again.

The implication of this change is that if some app is checking if the value is > 60
do something, like conclude the replica is stale, this could case harm (changing
a big positive number with a small one).
2021-04-19 09:34:21 +03:00
guybe7
a60016e061
ReplicationCron: Prevent invalid access to freed pointer (#8799)
Fixes #8797
2021-04-16 16:56:38 +03:00
Wen Hui
374401d786
Avoid close before logging to preserve errno (#8703) 2021-04-15 21:11:40 +03:00
guybe7
7d749d810b
Fix error reply in case zset command is not the STORE variant (#8793) 2021-04-15 18:36:51 +03:00
guybe7
d63d02601f
Add a timeout mechanism for replicas stuck in fullsync (#8762)
Starting redis 6.0 (part of the TLS feature), diskless master uses pipe from the fork
child so that the parent is the one sending data to the replicas.
This mechanism has an issue in which a hung replica will cause the master to wait
for it to read the data sent to it forever, thus preventing the fork child from terminating
and preventing the creations of any other forks.

This PR adds a timeout mechanism, much like the ACK-based timeout,
we disconnect replicas that aren't reading the RDB file fast enough.
2021-04-15 17:18:51 +03:00
Bonsai
0a2621c673
clean condition and variable store to nwritten that is never read (#8788) 2021-04-14 22:44:08 -07:00
Bonsai
07601b7e07
fix typo, stracture to structure (#8784) 2021-04-14 15:46:54 +03:00
Viktor Söderqvist
d7920ff9b1
Modules API docs: Sections and links (#8442)
* Modules API docs: Link API function names to their definitions

Occurrences of API functions are linked to their definition.

A function index with links to all functions is added on the bottom
of the page.

Comment blocks in module.c starting with a markdown h2 heading are
used as sections. A table of contents is generated from these
headings.

The functions names are changed from h2 to h3, since they are now
rendered as sub-headings within each section.

Existing sections in module.c are used with some minor changes.
Some documentation text is added or sligtly modified.

The markdown renderer will add IDs which may clash with our
generated IDs. By prefixing section IDs with "section-" we make
them different.

Replace double dashes with a unicode long ndash
2021-04-14 00:58:05 +03:00
Huang Zhw
c6cd1e59b1
Remove extra param in role-change event of sentinelEvent. (#8742) 2021-04-13 20:19:42 +03:00
Viktor Söderqvist
4938052f6b
Small doc fix for stream module API (#8757)
In a code example, using RedisModule_FreeString instead of
RedisModule_Free makes it behave correctly regardless of whether
automatic memory is used or not.
2021-04-13 20:14:12 +03:00