- 16 May, 2020 2 commits
-
-
antirez authored
-
antirez authored
This was broken in 1a7cd2c0: we identified a crash in the CI, what was happening before the fix should be like that: 1. The client gets in the async free list. 2. However freeClient() gets called again against the same client which is a master. 3. The client arrived in freeClient() with the CLOSE_ASAP flag set. 4. The master gets cached, but NOT removed from the CLOSE_ASAP linked list. 5. The master client that was cached was immediately removed since it was still in the list. 6. Redis accessed a freed cached master. This is how the crash looked like: === REDIS BUG REPORT START: Cut & paste starting from here === 1092:S 16 May 2020 11:44:09.731 # Redis 999.999.999 crashed by signal: 11 1092:S 16 May 2020 11:44:09.731 # Crashed running the instruction at: 0x447e18 1092:S 16 May 2020 11:44:09.731 # Accessing address: 0xffffffffffffffff 1092:S 16 May 2020 11:44:09.731 # Failed assertion: (:0) ------ STACK TRACE ------ EIP: src/redis-server 127.0.0.1:21300(readQueryFromClient+0x48)[0x447e18] And the 0xffff address access likely comes from accessing an SDS that is set to NULL (we go -1 offset to read the header).
-
- 15 May, 2020 2 commits
-
-
antirez authored
-
antirez authored
The context is issue #7205: since the introduction of threaded I/O we close clients asynchronously by default from readQueryFromClient(). So we should no longer prevent the caching of the master client, to later PSYNC incrementally, if such flags are set. However we also don't want the master client to be cached with such flags (would be closed immediately after being restored). And yet we want a way to understand if a master was closed because of a protocol error, and in that case prevent the caching.
-
- 14 May, 2020 10 commits
-
-
Salvatore Sanfilippo authored
TLS: Fix test failures on recent Debian/Ubuntu.
-
Salvatore Sanfilippo authored
TLS: Add crypto locks for older OpenSSL support.
-
Salvatore Sanfilippo authored
NetBSD build update.
-
Salvatore Sanfilippo authored
Added a refcount on timer events to prevent deletion of recursive timer events
-
Madelyn Olson authored
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
A fix for #7249.
-
antirez authored
Related to #7234.
-
- 12 May, 2020 4 commits
-
-
David Carlier authored
This platform supports CPU affinity (but not OpenBSD).
-
antirez authored
-
Salvatore Sanfilippo authored
fix unstable replication test
-
Oran Agra authored
this test which has coverage for varoius flows of diskless master was failing randomly from time to time. the failure was: [err]: diskless all replicas drop during rdb pipe in tests/integration/replication.tcl log message of '*Diskless rdb transfer, last replica dropped, killing fork child*' not found what seemed to have happened is that the master didn't detect that all replicas dropped by the time the replication ended, it thought that one replica is still connected. now the test takes a few seconds longer but it seems stable.
-
- 11 May, 2020 1 commit
-
-
Oran Agra authored
This bug was introduced by a recent change in which readQueryFromClient is using freeClientAsync, and despite the fact that now freeClientsInAsyncFreeQueue is in beforeSleep, that's not enough since it's not called during loading in processEventsWhileBlocked. furthermore, afterSleep was called in that case but beforeSleep wasn't. This bug also caused slowness sine the level-triggered mode of epoll kept signaling these connections as readable causing us to keep doing connRead again and again for ll of these, which keep accumulating. now both before and after sleep are called, but not all of their actions are performed during loading, some are only reserved for the main loop. fixes issue #7215
-
- 10 May, 2020 2 commits
-
-
Yossi Gottlieb authored
This is really required only for older OpenSSL versions. Also, at the moment Redis does not use OpenSSL from multiple threads so this will only be useful if modules end up doing that.
-
Yossi Gottlieb authored
Seems like on some systems choosing specific TLS v1/v1.1 versions no longer works as expected. Test is reduced for v1.2 now which is still good enough to test the mechansim, and matters most anyway.
-
- 09 May, 2020 4 commits
-
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
We want to send pings and pongs at specific intervals, since our packets also contain information about the configuration of the cluster and are used for gossip. However since our cluster bus is used in a mixed way for data (such as Pub/Sub or modules cluster messages) and metadata, sometimes a very busy channel may delay the reception of pong packets. So after discussing it in #7216, this commit introduces a new field that is not exposed in the cluster, is only an internal information about the last time we received any data from a given node: we use this field in order to avoid detecting failures, claiming data reception of new data from the node is a proof of liveness.
-
- 08 May, 2020 1 commit
-
-
Salvatore Sanfilippo authored
Redis Benchmark: Fix coredump because of double free
-
- 06 May, 2020 6 commits
-
-
antirez authored
-
Salvatore Sanfilippo authored
Remove unreachable branch.
-
Salvatore Sanfilippo authored
add jemalloc-bg-thread config in redis conf
-
Salvatore Sanfilippo authored
add include guard for lolwut.h
-
hwware authored
-
hwware authored
-
- 05 May, 2020 8 commits
-
-
Salvatore Sanfilippo authored
redis-cli cluster reshard does not work with ACL (AUTH2 MIGRATE args un-implemented)
-
ShooterIT authored
-
Brad Dunbar authored
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
-
Salvatore Sanfilippo authored
make struct user anonymous (only typedefed) in server.h
-