summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | Merge pull request #7255 from madolson/dev-unstable-converge-hash-validationSalvatore Sanfilippo2020-05-181-14/+21
|\ \ \ \ \ | | | | | | | | | | | | Converge hash validation for adding and removing
| * | | | | Converge hash validation for adding and removingMadelyn Olson2020-05-141-14/+21
| | | | | |
* | | | | | Merge pull request #7247 from bsergean/patch-3Salvatore Sanfilippo2020-05-181-5/+18
|\ \ \ \ \ \ | | | | | | | | | | | | | | Redis-cli 6.0.1 `--cluster-yes` doesn't work (fix #7246)
| * | | | | | do not handle --cluster-yes for cluster fix modeBenjamin Sergeant2020-05-141-7/+16
| | | | | | |
| * | | | | | fix typo ...Benjamin Sergeant2020-05-131-1/+1
| | | | | | |
| * | | | | | Redis-cli 6.0.1 `--cluster-yes` doesn't work (fix #7246)Benjamin Sergeant2020-05-131-1/+5
| | | | | | | | | | | | | | | | | | | | | This make it so that all prompts for all redis-cli --cluster commands are automatically answered with a yes.
* | | | | | | Merge pull request #7271 from oranagra/fix_valgrind_repl_testSalvatore Sanfilippo2020-05-181-1/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | fix valgrind test failure in replication test
| * | | | | | | fix valgrind test failure in replication testOran Agra2020-05-181-1/+1
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in b4416280c i added more keys to that test to make it run longer but in valgrind this now means the test times out, give valgrind more time.
* | | | | | | Merge branch 'unstable' of github.com:/antirez/redis into unstableantirez2020-05-171-0/+52
|\ \ \ \ \ \ \
| * \ \ \ \ \ \ Merge pull request #7264 from oranagra/test_for_7205Salvatore Sanfilippo2020-05-171-0/+52
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | add regression test for the race in #7205
| | * | | | | | | add regression test for the race in #7205Oran Agra2020-05-171-0/+52
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with the original version of 6.0.0, this test detects an excessive full sync. with the fix in 1a7cd2c0e, this test detects memory corruption, especially when using libc allocator with or without valgrind.
* | | | | | | | Improve the PSYNC2 test reliability.antirez2020-05-171-15/+33
|/ / / / / / /
* | | | | | | Remove the client from CLOSE_ASAP list before caching the master.antirez2020-05-162-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was broken in 1a7cd2c: 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).
* | | | | | | Merge branch 'unstable' of github.com:/antirez/redis into unstableantirez2020-05-157-21/+87
|\ \ \ \ \ \ \
| * \ \ \ \ \ \ Merge pull request #7229 from yossigo/tls-fails-on-recent-debianSalvatore Sanfilippo2020-05-141-20/+0
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | TLS: Fix test failures on recent Debian/Ubuntu.
| | * | | | | | | TLS: Fix test failures on recent Debian/Ubuntu.Yossi Gottlieb2020-05-101-20/+0
| | | |_|_|/ / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | | | Merge pull request #7230 from yossigo/tls-crypto-locksSalvatore Sanfilippo2020-05-141-0/+45
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | TLS: Add crypto locks for older OpenSSL support.
| | * | | | | | | TLS: Add crypto locks for older OpenSSL support.Yossi Gottlieb2020-05-101-0/+45
| | |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | | | Merge pull request #7244 from devnexen/netbsd_build_fixSalvatore Sanfilippo2020-05-143-1/+30
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | NetBSD build update.
| | * | | | | | | NetBSD build update.David Carlier2020-05-123-1/+30
| | | |/ / / / / | | |/| | | | | | | | | | | | | | | | | | | | | This platform supports CPU affinity (but not OpenBSD).
| * | | | | | | Merge pull request #7253 from madolson/unstable-ae-recursionSalvatore Sanfilippo2020-05-142-0/+12
| |\ \ \ \ \ \ \ | | | |_|/ / / / | | |/| | | | | Added a refcount on timer events to prevent deletion of recursive timer events
| | * | | | | | Added a refcount on timer events to prevent deletion of recursive timer callsMadelyn Olson2020-05-142-0/+12
| |/ / / / / /
* | | | | | | Cache master without checking of deferred close flags.antirez2020-05-153-8/+11
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | Merge branch 'free_clients_during_loading' into unstableantirez2020-05-148-24/+126
|\ \ \ \ \ \
| * | | | | | Track events processed while blocked globally.free_clients_during_loadingantirez2020-05-145-17/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Related to #7234.
| * | | | | | Some rework of #7234.antirez2020-05-124-65/+77
| | | | | | |
| * | | | | | fix redis 6.0 not freeing closed connections during loading.Oran Agra2020-05-113-58/+133
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | Regression test for #7249.antirez2020-05-141-0/+22
| | | | | |
* | | | | | rax.c updated from upstream antirez/rax.antirez2020-05-141-2/+4
| | | | | |
* | | | | | Tracking: send eviction messages when evicting entries.antirez2020-05-142-12/+29
| |/ / / / |/| | | | | | | | | | | | | | A fix for #7249.
* | | | | Merge pull request #7240 from oranagra/fix_replication_testSalvatore Sanfilippo2020-05-121-2/+2
|\ \ \ \ \ | |/ / / / |/| | | | fix unstable replication test
| * | | | fix unstable replication testOran Agra2020-05-121-2/+2
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge branch 'unstable' of github.com:/antirez/redis into unstableantirez2020-05-091-1/+1
|\ \ \ \
| * \ \ \ Merge pull request #7204 from ShooterIT/benchmark-fixSalvatore Sanfilippo2020-05-081-1/+1
| |\ \ \ \ | | |/ / / | |/| | | Redis Benchmark: Fix coredump because of double free
| | * | | Redis Benchmark: Fix coredump because of double freeShooterIT2020-05-051-1/+1
| | |/ /
* | | | Cluster: clarify we always resolve the sender.antirez2020-05-091-1/+3
| | | |
* | | | Cluster: refactor ping/data delay handling.antirez2020-05-091-11/+13
| | | |
* | | | Cluster: introduce data_received field.antirez2020-05-092-10/+27
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | stringmatchlen() should not expect null terminated strings.antirez2020-05-061-2/+2
| | |
* | | Merge pull request #7201 from braddunbar/stringmatchlenSalvatore Sanfilippo2020-05-061-2/+0
|\ \ \ | | | | | | | | Remove unreachable branch.
| * | | Remove unreachable branch.Brad Dunbar2020-05-051-2/+0
| | | |
* | | | Merge pull request #7207 from hwware/redisconffixxSalvatore Sanfilippo2020-05-061-0/+3
|\ \ \ \ | | | | | | | | | | add jemalloc-bg-thread config in redis conf
| * | | | add jemalloc-bg-thread config in redis confhwware2020-05-061-0/+3
| | | | |
* | | | | Merge pull request #7206 from hwware/lolwutmarcofixSalvatore Sanfilippo2020-05-061-0/+6
|\ \ \ \ \ | |/ / / / |/| | | | add include guard for lolwut.h
| * | | | add include guard for lolwut.hhwware2020-05-051-0/+6
|/ / / /
* | | | Merge pull request #7175 from bsergean/bsergean-patch-1Salvatore Sanfilippo2020-05-051-6/+19
|\ \ \ \ | |/ / / |/| | | redis-cli cluster reshard does not work with ACL (AUTH2 MIGRATE args un-implemented)
| * | | Update redis-cli.cBenjamin Sergeant2020-05-011-6/+19
| | | |
* | | | Don't propagate spurious MULTI on DEBUG LOADAOF.antirez2020-05-052-3/+6
| | | |
* | | | Dump recent backlog on master query generating errors.antirez2020-05-051-0/+29
| | | |
* | | | Merge branch 'unstable' of github.com:/antirez/redis into unstableantirez2020-05-051-1/+1
|\ \ \ \