Oran Agra
e70fbad802
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
zhaozhao.zz
8d5e3b7893
Client side caching: implement trackingInvalidateKeysOnFlush()
2019-07-17 20:33:52 +08:00
Oran Agra
e0387b30f2
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
antirez
9d4867e671
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2019-07-17 12:26:38 +02:00
Salvatore Sanfilippo
ce31de0e43
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
Salvatore Sanfilippo
89e00762e7
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
Salvatore Sanfilippo
ee8b42cb27
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
Salvatore Sanfilippo
3829c2c768
Merge pull request #5738 from bmerry/fix-swapdb-int-overflow
...
Make dbSwapDatabases take args as long
2019-07-12 12:36:33 +02:00
antirez
d2307852ed
Vertically compact code in aofWrite().
2019-07-12 12:18:33 +02:00
antirez
d9bdda8850
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2019-07-10 19:48:44 +02:00
antirez
effe7022e6
Client side caching: filter clients no longer there.
2019-07-10 19:46:46 +02:00
Salvatore Sanfilippo
f3884866c5
Merge pull request #6198 from oranagra/skiplist-mem-usage
...
missing per-skiplist overheads in MEMORY USAGE
2019-07-10 19:43:24 +02:00
antirez
c3d91f5d8b
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
antirez
00f56990ef
Client side caching: add tracking clients in INFO.
2019-07-10 18:08:31 +02:00
antirez
ecd65cf9cf
Diskless replica: fix disklessLoadRestoreBackups() bug.
2019-07-10 12:36:26 +02:00
antirez
26c4e8a965
Diskless replica: refactoring of DBs backups.
2019-07-10 11:42:26 +02:00
antirez
23063bf23e
Diskless replica: fix mispelled var name.
2019-07-10 09:34:21 +02:00
antirez
65e463d7a1
Diskless replica: a few aesthetic changes to rio.c
2019-07-08 18:39:59 +02:00
antirez
6e9ffa93eb
Diskless replica: a few aesthetic changes to replication.c.
2019-07-08 18:32:47 +02:00
Salvatore Sanfilippo
f2e72fdee6
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
Oran Agra
29754ebe22
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
Salvatore Sanfilippo
9c1932beeb
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
Angus Pearson
00c9b4f15d
Change typeNameCanonicalize -> getObjectTypeName, and other style changes
2019-07-08 11:04:37 +01:00
Salvatore Sanfilippo
259a916e14
Merge pull request #6210 from gkorland/patch-3
...
fix build tracking.c should be tracking.o
2019-07-07 17:49:17 +02:00
Guy Korland
664d7d6e84
fix build tracking.c should be tracking.o
...
thanks to @rafie
2019-07-07 18:28:15 +03:00
Salvatore Sanfilippo
0990dfa58e
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
Salvatore Sanfilippo
985e5b2c60
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
Salvatore Sanfilippo
3ffea1c914
Merge pull request #6022 from itamarhaber/RedisModule_ReplyWithCString
...
Adds RedisModule_ReplyWithCString
2019-07-05 20:25:18 +02:00
antirez
f3a8b5001d
Client side caching: RESP2 support.
2019-07-05 12:24:28 +02:00
antirez
d6204fe246
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2019-07-04 18:34:53 +02:00
Oran Agra
527c297efb
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
antirez
6aeb2627de
Client side caching: fix invalidate message len and content.
2019-07-04 14:07:23 +02:00
antirez
4b5027845e
Client side caching: implement trackingInvalidateKey().
2019-07-03 19:16:20 +02:00
antirez
a4e44726d0
Client side caching: hook inside call() for tracking.
2019-07-03 12:42:16 +02:00
antirez
b826cf89f1
Client side caching: CLIENT TRACKING subcommand.
2019-07-03 11:58:20 +02:00
Angus Pearson
17e98d8851
RESP3 double representation for -infinity is ,-inf\r\n
, not -inf\r\n
2019-07-02 14:28:48 +01:00
antirez
b54789d472
Client side caching: enable tracking mode.
2019-06-30 06:19:08 -04:00
antirez
7f9de752de
Client side caching: fields and flags for tracking mode.
2019-06-29 20:08:41 -04:00
antirez
a152f483cd
Client side caching: add new file and description.
2019-06-29 09:09:38 -04:00
zheng.ren01@mljr.com
6441bc0475
fix readme.md,Redis data types should add t_stream.c
.
2019-06-25 18:34:35 +08:00
Madelyn Olson
bf7eb02d3e
Refactored yesno configs so there was less duplication
2019-06-13 12:18:25 -07:00
Angus Pearson
49edda41b9
Spelling cannonical -> canonical
2019-06-13 17:49:33 +01:00
swilly22
7077d14afe
Extend REDISMODULE_CTX_FLAGS to indicate if redis is currently loading from either RDB or AOF
2019-06-12 15:37:19 +03:00
Angus Pearson
5ca48db2e2
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
Salvatore Sanfilippo
2af8ebe147
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
Madelyn Olson
67a4bcac1b
Fixed some spelling issues in ACL codepath including user facing error
2019-06-07 13:25:22 -07:00
Salvatore Sanfilippo
214555b02e
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
artix
ec45f5b395
Redis Benchmark: prevent CONFIG failure from exiting program
2019-06-05 16:34:55 +02:00
Oran Agra
f7833d560d
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
Oran Agra
0e07566591
Jemalloc: Avoid blocking on background thread lock for stats.
...
Background threads may run for a long time, especially when the # of dirty pages
is high. Avoid blocking stats calls because of this (which may cause latency
spikes).
see https://github.com/jemalloc/jemalloc/issues/1502
cherry picked from commit 1a71533511027dbe3f9d989659efeec446915d6b
2019-06-02 15:27:38 +03:00