redis/src
Oran Agra 2de544cfcc diskless replication on slave side (don't store rdb to file), plus some other related fixes
The implementation of the diskless replication was currently diskless only on the master side.
The slave side was still storing the received rdb file to the disk before loading it back in and parsing it.

This commit adds two modes to load rdb directly from socket:
1) when-empty
2) using "swapdb"
the third mode of using diskless slave by flushdb is risky and currently not included.

other changes:
--------------
distinguish between aof configuration and state so that we can re-enable aof only when sync eventually
succeeds (and not when exiting from readSyncBulkPayload after a failed attempt)
also a CONFIG GET and INFO during rdb loading would have lied

When loading rdb from the network, don't kill the server on short read (that can be a network error)

Fix rdb check when performed on preamble AOF

tests:
run replication tests for diskless slave too
make replication test a bit more aggressive
Add test for diskless load swapdb
2019-07-08 15:37:48 +03:00
..
modules Add runtest-moduleapi with commandfilter coverage. 2019-03-24 12:03:03 +02:00
.gitignore
Makefile fix build tracking.c should be tracking.o 2019-07-07 18:28:15 +03:00
acl.c Fixed some spelling issues in ACL codepath including user facing error 2019-06-07 13:25:22 -07:00
adlist.c adlist: fix listJoin() in the case the second list is empty. 2017-11-28 18:25:14 +01:00
adlist.h Modules TSC: Handling of RM_Reply* functions. 2017-05-02 15:05:39 +02:00
ae.c Update ae.c 2019-01-06 15:01:25 +08:00
ae.h Fix ae.c when a timer finalizerProc adds an event. 2018-03-28 14:11:04 +02:00
ae_epoll.c various cleanups and minor fixes 2016-04-25 16:49:57 +03:00
ae_evport.c
ae_kqueue.c No more trailing spaces in Redis source code. 2014-06-26 18:48:40 +02:00
ae_select.c Include 'fd_set' type name 2016-06-07 16:46:00 -04:00
anet.c diskless replication on slave side (don't store rdb to file), plus some other related fixes 2019-07-08 15:37:48 +03:00
anet.h diskless replication on slave side (don't store rdb to file), plus some other related fixes 2019-07-08 15:37:48 +03:00
aof.c diskless replication on slave side (don't store rdb to file), plus some other related fixes 2019-07-08 15:37:48 +03:00
asciilogo.h
atomicvar.h several typos fixed, optimize MSETNX to avoid unnecessary loop 2018-10-16 15:48:03 +08:00
bio.c Fix typo in design comment of bio.c. 2018-10-05 18:29:23 +02:00
bio.h Threaded lazyfree WIP #1. 2015-10-01 13:02:25 +02:00
bitops.c Fix memleak in bitfieldCommand 2019-04-09 09:24:22 +08:00
blocked.c Merge pull request #2774 from rouzier/blocking-list-commands-support-milliseconds-floating 2019-03-12 18:10:28 +01:00
childinfo.c Clear child data when opening the pipes. 2016-09-19 14:11:17 +02:00
cluster.c Add RedisModule_GetKeyNameFromIO(). 2019-03-15 10:23:27 +02:00
cluster.h Module cluster flags: add hooks for NO_REDIRECTION flag. 2018-09-19 11:31:22 +02:00
config.c diskless replication on slave side (don't store rdb to file), plus some other related fixes 2019-07-08 15:37:48 +03:00
config.h OpenBSD support. 2018-11-25 08:10:26 +00:00
crc16.c RDMF (Redis/Disque merge friendlyness) refactoring WIP 1. 2015-07-26 15:17:18 +02:00
crc16_slottable.h Added basic support for clusters to redis-benchmark. 2019-03-01 17:53:14 +01:00
crc64.c Allow all code tests to run using Redis args 2014-12-23 09:31:03 -05:00
crc64.h Allow all code tests to run using Redis args 2014-12-23 09:31:03 -05:00
db.c diskless replication on slave side (don't store rdb to file), plus some other related fixes 2019-07-08 15:37:48 +03:00
debug.c Client side caching: implement trackingInvalidateKey(). 2019-07-03 19:16:20 +02:00
debugmacro.h Use the standard predefined identifier __func__ (since C99) 2016-08-04 15:12:12 +08:00
defrag.c Fix uint64_t hash value in active defrag 2019-05-08 16:29:16 +08:00
dict.c Set dictGetFairRandomKey() samples to 20 for final version. 2019-02-19 17:27:42 +01:00
dict.h Better distribution for set get-random-element operations. 2019-02-18 18:27:18 +01:00
endianconv.c Allow all code tests to run using Redis args 2014-12-23 09:31:03 -05:00
endianconv.h Fix typo 2018-07-03 18:19:46 +02:00
evict.c Threaded IO: read side WIP. 2019-05-06 18:02:51 +02:00
expire.c Client side caching: implement trackingInvalidateKey(). 2019-07-03 19:16:20 +02:00
fmacros.h Silence _BSD_SOURCE warnings in glibc 2.20 and forward 2014-12-05 12:41:59 +11:00
geo.c Fix mismatching keyspace notification classes 2019-03-14 12:11:16 +01:00
geo.h RDMF (Redis/Disque merge friendlyness) refactoring WIP 1. 2015-07-26 15:17:18 +02:00
geohash.c Use geohash limit defines in constraint check 2018-09-02 00:06:20 -07:00
geohash.h Multiple GEORADIUS bugs fixed. 2016-07-27 11:34:25 +02:00
geohash_helper.c Fix GEORADIUS edge case with huge radius. 2017-07-03 19:38:31 +02:00
geohash_helper.h Fix definition of M_PI in geohash_helper.c. 2016-07-06 16:31:11 +02:00
gopher.c Gopher: don't add the Lastline. 2019-02-24 21:38:15 +01:00
help.h Update help.h for redis-cli. 2018-10-17 12:57:21 +02:00
hyperloglog.c HyperLogLog: fix comment in hllCount(). 2019-03-16 09:15:57 +01:00
intset.c several typos fixed, optimize MSETNX to avoid unnecessary loop 2018-10-16 15:48:03 +08:00
intset.h Use const in Redis Module API where possible. 2016-06-20 23:08:06 +03:00
latency.c RESP3: latency.c updated. 2019-01-09 17:00:29 +01:00
latency.h Separate latency monitoring of eviction loop and eviction DELs. 2015-02-11 10:52:27 +01:00
lazyfree.c refactor dbOverwrite to make lazyfree work 2018-07-31 12:07:57 +08:00
listpack.c Listpack: optionally force reallocation on inserts. 2018-10-02 19:37:36 +02:00
listpack.h Streams: 12 commits squashed into the initial Streams implementation. 2017-12-01 10:24:24 +01:00
listpack_malloc.h Streams: change listpack allocator to zmalloc. 2017-12-01 10:24:24 +01:00
localtime.c update leap year comment 2018-07-13 09:46:30 -06:00
lolwut.c LOLWUT: split the command from version-specific implementations. 2018-09-14 12:35:59 +02:00
lolwut5.c LOLWUT: capitalize Nees. 2018-10-11 13:00:55 +02:00
lzf.h No more trailing spaces in Redis source code. 2014-06-26 18:48:40 +02:00
lzfP.h Fix undefined behavior constant defined. 2017-11-19 16:23:42 +00:00
lzf_c.c Upgrade LZF to 3.6 (2011) from 3.5 (2009) 2015-01-02 11:16:10 -05:00
lzf_d.c Try to avoid issues with GCC pragmas and older compilers. 2018-09-28 13:00:44 +02:00
memtest.c Hopefully better memory test on crash. 2015-12-16 17:41:22 +01:00
mkreleasehdr.sh Use SOURCE_DATE_EPOCH over unreproducible uname + date calls. 2016-04-29 16:45:53 +01:00
module.c Merge pull request #6161 from swilly22/redismodule-loading-ctx-flag 2019-07-07 17:01:29 +02:00
multi.c RESP3: restore the concept of null array for RESP2 compat. 2019-01-09 17:00:29 +01:00
networking.c Client side caching: implement trackingInvalidateKey(). 2019-07-03 19:16:20 +02:00
notify.c added special flag for keyspace miss notifications 2019-03-21 11:47:14 +02:00
object.c Fix objectSetLRUOrLFU() when LFU underflows. 2019-03-14 17:06:59 +01:00
pqsort.c No more trailing spaces in Redis source code. 2014-06-26 18:48:40 +02:00
pqsort.h
pubsub.c RESP3: Pubsub messages in new push format if client is in RESP3 mode. 2019-01-09 17:00:30 +01:00
quicklist.c Fix typo 2018-07-03 18:19:46 +02:00
quicklist.h several typos fixed, optimize MSETNX to avoid unnecessary loop 2018-10-16 15:48:03 +08:00
rand.c Use 'void' for zero-argument functions 2014-08-08 10:05:32 +02:00
rand.h
rax.c Rax: radix tree updated to latest version from antirez/rax. 2018-10-13 14:17:38 +02:00
rax.h Rax: radix tree updated to latest version from antirez/rax. 2018-10-13 14:17:38 +02:00
rax_malloc.h Cluster: hash slots tracking using a radix tree. 2017-03-27 16:37:22 +02:00
rdb.c diskless replication on slave side (don't store rdb to file), plus some other related fixes 2019-07-08 15:37:48 +03:00
rdb.h Add RedisModule_GetKeyNameFromIO(). 2019-03-15 10:23:27 +02:00
redis-benchmark.c Redis Benchmark: prevent CONFIG failure from exiting program 2019-06-05 16:34:55 +02:00
redis-check-aof.c Enlarge error buffer in redis-check-aof.c to remove compiler warning of output truncation through snprintf format string 2019-05-08 12:13:45 +01:00
redis-check-rdb.c diskless replication on slave side (don't store rdb to file), plus some other related fixes 2019-07-08 15:37:48 +03:00
redis-cli.c Merge pull request #5921 from vattezhang/unstable_temp 2019-03-13 12:18:08 +01:00
redis-trib.rb Redis-trib deprecated: it no longer works and it 2018-07-13 10:51:58 +02:00
redisassert.h Fix typo 2018-07-03 18:19:46 +02:00
redismodule.h Merge pull request #6161 from swilly22/redismodule-loading-ctx-flag 2019-07-07 17:01:29 +02:00
release.c No more trailing spaces in Redis source code. 2014-06-26 18:48:40 +02:00
replication.c diskless replication on slave side (don't store rdb to file), plus some other related fixes 2019-07-08 15:37:48 +03:00
rio.c diskless replication on slave side (don't store rdb to file), plus some other related fixes 2019-07-08 15:37:48 +03:00
rio.h diskless replication on slave side (don't store rdb to file), plus some other related fixes 2019-07-08 15:37:48 +03:00
scripting.c CommandFilter API: Support Lua and RM_call() flows. 2019-03-18 23:06:38 +02:00
sds.c Trim SDS free space of retained module strings 2019-02-12 14:21:21 +01:00
sds.h Merge pull request #3828 from oranagra/sdsnewlen_pr 2018-02-27 04:04:32 -08:00
sdsalloc.h SDS: changes to unify Redis SDS with antirez/sds repo. 2015-07-25 17:25:44 +02:00
sentinel.c fix: fix sentinel command table and new flags format 2019-02-27 21:35:58 +08:00
server.c diskless replication on slave side (don't store rdb to file), plus some other related fixes 2019-07-08 15:37:48 +03:00
server.h diskless replication on slave side (don't store rdb to file), plus some other related fixes 2019-07-08 15:37:48 +03:00
setproctitle.c DragonFlyBSD little build fix 2018-11-11 18:49:55 +00:00
sha1.c sha1.c: use standard uint32_t. 2015-04-27 12:07:49 +02:00
sha1.h sha1.c: use standard uint32_t. 2015-04-27 12:07:49 +02:00
siphash.c Clean gcc 7.x warnings, redis-cli cluster fix. 2018-06-03 15:54:30 +03:00
slowlog.c RESP3: Use new aggregate reply API in slowlog.c. 2019-01-09 17:00:29 +01:00
slowlog.h Merge pull request #4056 from season89/unstable 2017-06-20 16:55:29 +02:00
solarisfixes.h Check for __sun macro in solarisfixes.h, not in includers. 2015-01-09 11:23:22 +01:00
sort.c change SORT and SPOP to use lookupKeyWrite rather than lookupKeyRead 2019-03-20 17:06:22 +02:00
sparkline.c RDMF (Redis/Disque merge friendlyness) refactoring WIP 1. 2015-07-26 15:17:18 +02:00
sparkline.h LATENCY GRAPH implemented. 2014-07-02 16:31:22 +02:00
stream.h Streams: add streamCompareID() declaration in stream.h. 2018-07-14 15:02:24 +08:00
syncio.c syncWithMaster(): non blocking state machine. 2015-08-06 18:12:20 +02:00
t_hash.c Increase string2ld's buffer size (and fix HINCRBYFLOAT) 2019-01-28 17:58:11 +02:00
t_list.c change the comments there may have a mis type 2019-05-07 14:22:40 +08:00
t_set.c change SORT and SPOP to use lookupKeyWrite rather than lookupKeyRead 2019-03-20 17:06:22 +02:00
t_stream.c Fix start and end key initialize 2019-04-11 12:19:02 -04:00
t_string.c RESP3: most null replies converted. 2019-01-09 17:00:29 +01:00
t_zset.c Fix ZPOP return type when COUNT=0. Related to #5799. 2019-03-14 17:51:20 +01:00
testhelp.h
tracking.c Client side caching: RESP2 support. 2019-07-05 12:24:28 +02:00
util.c Increase string2ld's buffer size (and fix HINCRBYFLOAT) 2019-01-28 17:58:11 +02:00
util.h stringmatchlen() fuzz test added. 2018-12-11 13:29:30 +01:00
valgrind.sup
version.h Mark version of unstable branch in an unique way. 2015-09-29 17:30:24 +02:00
ziplist.c Update ziplist.c 2019-05-08 12:53:56 +08:00
ziplist.h DEBUG: new "ziplist" subcommand added. Dumps a ziplist on stdout. 2016-12-16 09:02:50 +01:00
zipmap.c Allow all code tests to run using Redis args 2014-12-23 09:31:03 -05:00
zipmap.h Allow all code tests to run using Redis args 2014-12-23 09:31:03 -05:00
zmalloc.c Alter coding style in #4696 to conform to Redis code base. 2019-03-21 12:18:55 +01:00
zmalloc.h Fix incorrect memory usage accounting in zrealloc 2018-09-30 11:49:03 +02:00