Oran Agra
1d6e5dc4dc
Module INFO, add support for dict fields, rename API to have common prefix
2019-08-18 09:41:45 +03:00
Oran Agra
e91d9a6fff
Extend modules API to allow modules report to redis INFO
...
this implements #6012
2019-07-24 12:58:15 +03:00
antirez
bc5cb168f5
RDB: fix MODULE_AUX loading by continuing to next opcode.
...
Thanks to @JohnSully for noticing this problem.
2019-07-19 11:12:46 +02:00
antirez
5f450e4928
RDB: make sure to abort on LZF encoding error.
2019-07-18 18:59:38 +02:00
antirez
bd0f06c18c
RDB: handle encoding errors with rdbExitReportCorruptRDB().
...
Without such change, the diskless replicas, when loading RDB files from
the socket will not abort when a broken RDB file gets loaded. This is
potentially unsafe, because right now Redis is not able to guarantee
that encoding errors are safe from the POV of memory corruptions (for
instance the LZF library may not be safe against untrusted data?) so
better to abort when the RDB file we are going to load is corrupted.
Instead I/O errors are still returned to the caller without aborting,
so that in case of short read the diskless replica can try again.
2019-07-18 18:51:45 +02:00
Salvatore Sanfilippo
41ed85bd26
Merge pull request #6252 from soloestoy/tracking-flushdb
...
Tracking flushdb
2019-07-18 16:41:37 +02:00
antirez
947319cadd
RDB: update rdbLoadRio comment about EOF condition.
2019-07-18 12:37:55 +02:00
zhaozhao.zz
f59119aad6
Client side caching: filter clients untracking
2019-07-18 16:46:19 +08:00
antirez
42b6305964
RDB: try to make error handling code more readable.
2019-07-17 17:30:02 +02:00
antirez
6b72b04a37
Rio: when in error condition avoid doing the operation.
2019-07-17 16:46:22 +02:00
antirez
5189db3d81
RDB: modify rdbReportError() var name for clarity.
2019-07-17 16:46:22 +02:00
antirez
48d91cf4cc
Rio: remember read/write error conditions.
2019-07-17 16:46:22 +02:00
Oran Agra
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
zhaozhao.zz
6191ea90a1
Client side caching: implement trackingInvalidateKeysOnFlush()
2019-07-17 20:33:52 +08:00
antirez
241d18d954
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2019-07-17 12:26:38 +02:00
Salvatore Sanfilippo
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
Salvatore Sanfilippo
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
Salvatore Sanfilippo
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
Salvatore Sanfilippo
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
antirez
54c4e7f86c
Vertically compact code in aofWrite().
2019-07-12 12:18:33 +02:00
antirez
2a99f199bc
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2019-07-10 19:48:44 +02:00
antirez
dad0e916ff
Client side caching: filter clients no longer there.
2019-07-10 19:46:46 +02:00
Salvatore Sanfilippo
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
antirez
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
antirez
923e4fb312
Client side caching: add tracking clients in INFO.
2019-07-10 18:08:31 +02:00
antirez
7c9f6ebc8f
Diskless replica: fix disklessLoadRestoreBackups() bug.
2019-07-10 12:36:26 +02:00
antirez
3bbb9a1413
Diskless replica: refactoring of DBs backups.
2019-07-10 11:42:26 +02:00
antirez
3300e98ff0
Diskless replica: fix mispelled var name.
2019-07-10 09:34:21 +02:00
antirez
dfcbeaf115
Diskless replica: a few aesthetic changes to rio.c
2019-07-08 18:39:59 +02:00
antirez
81b18fa3a0
Diskless replica: a few aesthetic changes to replication.c.
2019-07-08 18:32:47 +02:00
Salvatore Sanfilippo
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
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
Salvatore Sanfilippo
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
Angus Pearson
6eb52e200c
Change typeNameCanonicalize -> getObjectTypeName, and other style changes
2019-07-08 11:04:37 +01:00
Salvatore Sanfilippo
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
Guy Korland
2d07883cab
fix build tracking.c should be tracking.o
...
thanks to @rafie
2019-07-07 18:28:15 +03:00
Salvatore Sanfilippo
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
Salvatore Sanfilippo
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
Salvatore Sanfilippo
a714004738
Merge pull request #6022 from itamarhaber/RedisModule_ReplyWithCString
...
Adds RedisModule_ReplyWithCString
2019-07-05 20:25:18 +02:00
antirez
6b29f2d83d
Client side caching: RESP2 support.
2019-07-05 12:24:28 +02:00
antirez
f099def733
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2019-07-04 18:34:53 +02:00
Oran Agra
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
antirez
3e43aed1ac
Client side caching: fix invalidate message len and content.
2019-07-04 14:07:23 +02:00
antirez
46edb55de9
Client side caching: implement trackingInvalidateKey().
2019-07-03 19:16:20 +02:00
antirez
506764b3f8
Client side caching: hook inside call() for tracking.
2019-07-03 12:42:16 +02:00
antirez
db16a861a1
Client side caching: CLIENT TRACKING subcommand.
2019-07-03 11:58:20 +02:00
Angus Pearson
593f6656c1
RESP3 double representation for -infinity is ,-inf\r\n
, not -inf\r\n
2019-07-02 14:28:48 +01:00
antirez
c29f3bcf2e
Client side caching: enable tracking mode.
2019-06-30 06:19:08 -04:00
antirez
45d64f229e
Client side caching: fields and flags for tracking mode.
2019-06-29 20:08:41 -04:00
antirez
a28d7918d7
Client side caching: add new file and description.
2019-06-29 09:09:38 -04:00