c56b4ddc6f
prevent diskless replica from terminating on short read
...
now that replica can read rdb directly from the socket, it should avoid exiting
on short read and instead try to re-sync.
this commit tries to have minimal effects on non-diskless rdb reading.
and includes a test that tries to trigger this scenario on various read cases.
2019-07-17 16:46:22 +02:00
56258c6b7d
Module API for Forking
...
* create module API for forking child processes.
* refactor duplicate code around creating and tracking forks by AOF and RDB.
* child processes listen to SIGUSR1 and dies exitFromChild in order to
eliminate a valgrind warning of unhandled signal.
* note that BGSAVE error reply has changed.
valgrind error is:
Process terminating with default action of signal 10 (SIGUSR1)
2019-07-17 16:40:24 +03:00
6191ea90a1
Client side caching: implement trackingInvalidateKeysOnFlush()
2019-07-17 20:33:52 +08:00
6e07fac405
RM_Log - add support for logging without a context or context without module
...
for instance detached thread safe contexts, or various callbacks that don't
provide a context.
2019-07-17 15:08:18 +03:00
241d18d954
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2019-07-17 12:26:38 +02:00
5827b69861
Merge pull request #6185 from AlexRenCN/unstable
...
fix readme.md,Redis data types should add `t_stream.c`.
2019-07-16 18:33:55 +02:00
4b2579a064
Merge pull request #5779 from madolson/dev-unstable-geo-bugfix
...
Fixed a rounding bug in geo.tcl
2019-07-15 23:41:57 +02:00
3f1c84751a
Merge pull request #6196 from AngusP/resp3
...
[RESP3, Minor] in networking.c double representation for -infiinity leaves out comma
2019-07-12 13:08:46 +02:00
6100a82a3a
Merge pull request #5738 from bmerry/fix-swapdb-int-overflow
...
Make dbSwapDatabases take args as long
2019-07-12 12:36:33 +02:00
54c4e7f86c
Vertically compact code in aofWrite().
2019-07-12 12:18:33 +02:00
2a99f199bc
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2019-07-10 19:48:44 +02:00
dad0e916ff
Client side caching: filter clients no longer there.
2019-07-10 19:46:46 +02:00
7567323071
Merge pull request #6198 from oranagra/skiplist-mem-usage
...
missing per-skiplist overheads in MEMORY USAGE
2019-07-10 19:43:24 +02:00
c7aaf8db4d
Client side caching: implement CLIENT GETREDIR.
...
This subcommand may simplify the writing of Redis client libraries
using the tracking feature and/or improve observability and debugging
capabilities.
2019-07-10 18:17:10 +02:00
923e4fb312
Client side caching: add tracking clients in INFO.
2019-07-10 18:08:31 +02:00
7c9f6ebc8f
Diskless replica: fix disklessLoadRestoreBackups() bug.
2019-07-10 12:36:26 +02:00
3bbb9a1413
Diskless replica: refactoring of DBs backups.
2019-07-10 11:42:26 +02:00
3300e98ff0
Diskless replica: fix mispelled var name.
2019-07-10 09:34:21 +02:00
dfcbeaf115
Diskless replica: a few aesthetic changes to rio.c
2019-07-08 18:39:59 +02:00
81b18fa3a0
Diskless replica: a few aesthetic changes to replication.c.
2019-07-08 18:32:47 +02:00
d984732b35
Merge pull request #6193 from oranagra/diskless_slave_refresh3
...
diskless replication on slave side (don't store rdb to file), plus some other related fixes
2019-07-08 18:10:16 +02:00
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
722446510f
Merge pull request #6116 from AngusP/scan-types
...
SCAN: New Feature `SCAN cursor [TYPE type]` modifier suggested in issue #6107
2019-07-08 12:53:34 +02:00
6eb52e200c
Change typeNameCanonicalize -> getObjectTypeName, and other style changes
2019-07-08 11:04:37 +01:00
4c4b7023dd
Merge pull request #6210 from gkorland/patch-3
...
fix build tracking.c should be tracking.o
2019-07-07 17:49:17 +02:00
2d07883cab
fix build tracking.c should be tracking.o
...
thanks to @rafie
2019-07-07 18:28:15 +03:00
e8ae07aabf
Merge pull request #6162 from madolson/dev-unstable-config-refactor
...
Refactored yesno configs so there is less duplication
2019-07-07 17:13:11 +02:00
677e95e2f5
Merge pull request #6161 from swilly22/redismodule-loading-ctx-flag
...
Extend REDISMODULE_CTX_FLAGS to indicate if redis is loading
2019-07-07 17:01:29 +02:00
a714004738
Merge pull request #6022 from itamarhaber/RedisModule_ReplyWithCString
...
Adds RedisModule_ReplyWithCString
2019-07-05 20:25:18 +02:00
6b29f2d83d
Client side caching: RESP2 support.
2019-07-05 12:24:28 +02:00
f099def733
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2019-07-04 18:34:53 +02:00
41c5ebcab6
missing per-skiplist overheads in MEMORY USAGE
...
these had severe impact for small zsets, for instance ones with just one
element that is longer than 64 (causing it not to be ziplist encoded)
2019-07-04 15:20:49 +03:00
3e43aed1ac
Client side caching: fix invalidate message len and content.
2019-07-04 14:07:23 +02:00
46edb55de9
Client side caching: implement trackingInvalidateKey().
2019-07-03 19:16:20 +02:00
506764b3f8
Client side caching: hook inside call() for tracking.
2019-07-03 12:42:16 +02:00
db16a861a1
Client side caching: CLIENT TRACKING subcommand.
2019-07-03 11:58:20 +02:00
593f6656c1
RESP3 double representation for -infinity is ,-inf\r\n
, not -inf\r\n
2019-07-02 14:28:48 +01:00
c29f3bcf2e
Client side caching: enable tracking mode.
2019-06-30 06:19:08 -04:00
45d64f229e
Client side caching: fields and flags for tracking mode.
2019-06-29 20:08:41 -04:00
a28d7918d7
Client side caching: add new file and description.
2019-06-29 09:09:38 -04:00
2d236d7aec
fix readme.md,Redis data types should add t_stream.c
.
2019-06-25 18:34:35 +08:00
dd51fc5a4a
Refactored yesno configs so there was less duplication
2019-06-13 12:18:25 -07:00
38cd5fd9f6
Spelling cannonical -> canonical
2019-06-13 17:49:33 +01:00
f54d95e803
Extend REDISMODULE_CTX_FLAGS to indicate if redis is currently loading from either RDB or AOF
2019-06-12 15:37:19 +03:00
e2adea2188
Add char* typeNameCanonicalize(robj*) to remove duplicate code between SCAN and TYPE commands,
...
and to keep OBJ_* enum to string canonicalization in one place.
2019-06-10 17:41:44 +01:00
0cabe0cfa7
Merge pull request #6149 from madolson/acl-spelling
...
Fixed some spelling issues in ACL codepath including a user facing error
2019-06-07 22:54:52 +02:00
dd5f437871
Fixed some spelling issues in ACL codepath including user facing error
2019-06-07 13:25:22 -07:00
de035c9481
Merge pull request #6148 from artix75/redis_bm_dev
...
Redis Benchmark: prevent CONFIG failure from exiting program
2019-06-05 17:29:50 +02:00
d3ed53f11b
Redis Benchmark: prevent CONFIG failure from exiting program
2019-06-05 16:34:55 +02:00
09f99c2a92
make redis purge jemalloc after flush, and enable background purging thread
...
jemalloc 5 doesn't immediately release memory back to the OS, instead there's a decaying
mechanism, which doesn't work when there's no traffic (no allocations).
this is most evident if there's no traffic after flushdb, the RSS will remain high.
1) enable jemalloc background purging
2) explicitly purge in flushdb
2019-06-02 15:33:14 +03:00