antirez
12c56a8e75
redis-cli: always report server errors on read errors.
...
Before this commit we may have not consumer buffers when a read error is
encountered. Such buffers may contain errors that are important clues
for the user: for instance a protocol error in the payload we send in
pipe mode will cause the server to abort the connection. If the user
does not get the protocol error, debugging what is happening can be a
nightmare.
This commit fixes issue #3756 .
2019-09-04 17:55:46 +02:00
antirez
f7090f43ad
AOF: be future-proof and close the file pointer.
...
Currently useless but we release the fake client, so better to do a full
cleanup. Thanks to @TomMD reporting this in #6353 .
2019-09-04 17:20:37 +02:00
antirez
b2e10131c0
Rio: fix flag name, function is never used btw.
...
Thanks to @tnclong for reporting the problem.
2019-09-04 13:01:07 +02:00
antirez
06d490342f
RESP3: fix cases of NULL reported instead of empty aggregate.
2019-09-02 12:50:47 +02:00
antirez
b12ccc840e
Cluster: abort loading nodes data if vars arguments are unbalanced.
...
See for reference PR #6337 . Thanks to @git-hulk for spotting this.
2019-09-02 11:41:20 +02:00
antirez
e57067b677
More strict checks and better comments in flushSlaveOutputBuffers().
...
Related to #6296 .
2019-08-31 14:46:24 +02:00
antirez
2303ba1441
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2019-08-31 14:41:28 +02:00
antirez
ca5ccc58c5
Improve comment in flushSlavesOutputBuffers().
2019-08-31 14:40:09 +02:00
Salvatore Sanfilippo
16435e02bf
Merge pull request #6296 from soloestoy/flushSlavesOutputBuffers-bugfix
...
networking: flushSlavesOutputBuffers bugfix
2019-08-31 14:39:33 +02:00
Oran Agra
0a97149dec
RM_ReplyWithCString was missing registration
2019-08-07 13:06:11 +03:00
antirez
0e9b5adbd3
Replication: clarify why repl_put_online_on_ack exists at all.
2019-08-05 17:38:15 +02:00
zhaozhao.zz
d3f7eb0c87
networking: flushSlavesOutputBuffers bugfix
2019-08-02 17:17:19 +08:00
antirez
583933e2d6
Fix regression causing EXEC to appear in the slow log.
...
This was recently introduced with PR #6266 .
2019-07-31 19:05:20 +02:00
antirez
2a8a63af44
Make EMBSTR case of #6261 more obvious.
2019-07-31 12:03:10 +02:00
Salvatore Sanfilippo
f899c31fbc
Merge pull request #6261 from chendq8/robj
...
make memory usage consistent of robj with OBJ_ENCODING_INT
2019-07-31 11:54:11 +02:00
Salvatore Sanfilippo
fc5c2052b5
Merge pull request #6266 from madolson/dev-unstable-hide-auth-and-hello
...
Hide HELLO and AUTH from slowlog and monitor
2019-07-31 11:12:46 +02:00
antirez
e1b13b4d39
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2019-07-31 10:37:17 +02:00
antirez
b2079cb508
HyperLogLog: fix the fix of a corruption bug.
2019-07-31 10:36:23 +02:00
Salvatore Sanfilippo
f0c10d4360
Merge pull request #6277 from devnexen/fbsd_get_rss
...
Updating resident memory request impl on FreeBSD.
2019-07-30 18:24:38 +02:00
Salvatore Sanfilippo
f42846e8c7
Merge pull request #6264 from oranagra/modules_api_aux_rdb
...
Implement module api for aux data in rdb
2019-07-30 11:50:44 +02:00
Salvatore Sanfilippo
ce72cac0f8
Merge pull request #6269 from wubostc/patch-1
...
Reduce the calling stack
2019-07-30 11:41:48 +02:00
antirez
e4b3c8bbc3
emptyDbGeneric(): call signalFlushDb() before deleting the keys.
...
This was broken since a refactoring performed recently by myself.
2019-07-30 11:20:54 +02:00
John Sully
d659654f53
Fix HLL corruption bug
2019-07-29 18:11:52 -04:00
David Carlier
f1c6c658ac
Updating resident memory request impl on FreeBSD.
2019-07-28 14:33:57 +01:00
Salvatore Sanfilippo
5591a14c0a
Merge pull request #6248 from oranagra/module-log
...
RM_Log - add support for logging without a context or context without module
2019-07-25 18:48:46 +02:00
antirez
fde5e737dc
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2019-07-24 11:45:19 +02:00
antirez
32efd9adf8
Client side caching: config option for table fill rate.
2019-07-24 11:35:01 +02:00
wubostc
48f4cfb601
Reduce the calling stack
2019-07-24 16:22:26 +08:00
Salvatore Sanfilippo
dbee7ca007
Merge pull request #6265 from madolson/dev-unstable-remove-create-object
...
Removed unnecessary creation of Redis objects
2019-07-23 17:05:10 +02:00
antirez
c98e7717bb
Client side caching: show tracking slots usage in INFO.
2019-07-23 11:02:14 +02:00
antirez
9268493e8d
Client side caching: implement full slot limit function.
2019-07-23 10:57:22 +02:00
zhaozhao.zz
9012e587ca
Client side caching: do not reclaim tracking table if it's empty
2019-07-23 15:25:00 +08:00
Madelyn Olson
7d21754710
Hide HELLO and AUTH from slowlog and monitor
2019-07-22 22:53:15 -07:00
Madelyn Olson
8fe173452a
Removed unecessary creation of Redis objects
2019-07-22 22:52:16 -07:00
Oran Agra
3b6aeea44c
Implement module api for aux data in rdb
...
Other changes:
* fix memory leak in error handling of rdb loading of type OBJ_MODULE
2019-07-22 21:15:33 +03:00
antirez
c41f94d2a3
Client side caching: split invalidation into key / slot.
2019-07-22 18:59:53 +02:00
antirez
09c06698e9
Client side caching: redis-cli ability to enable tracking.
...
This is extremely useful in order to simulate an high load of requests
about different keys, and force Redis to track a lot of informations
about several clients, to simulate real world workloads.
2019-07-22 18:45:47 +02:00
antirez
436d02dd7b
Move signalFlushedDb() into a better place.
...
Now that the call also invalidates client side caching slots, it is
important that after an internal flush operation we both send the
notifications to the clients and, at the same time, are able to reclaim
the memory of the tracking table. This may even fix a few edge cases
related to MULTI/EXEC + WATCH during resync, not sure, but in general
looks more correct.
2019-07-22 12:37:47 +02:00
antirez
7d3992a80a
Client side caching: reclaim the tracking table on FLUSHALL.
2019-07-22 12:33:49 +02:00
antirez
842b44dc46
Client side caching: call the invalidation functions always.
...
Otherwise what happens is that the tracking table will never get garbage
collected if there are no longer clients with tracking enabled.
Now the invalidation function immediately checks if there is any table
allocated, otherwise it returns ASAP, so the overhead when the feature
is not used should be near zero.
2019-07-22 12:29:54 +02:00
antirez
f850201c64
Client side caching: don't hash the key if not needed.
2019-07-22 12:10:51 +02:00
antirez
e00442eb13
Clinet side caching: take count of used caching slots.
2019-07-22 11:47:44 +02:00
chendianqiang
004c26ec28
make memory usage consistent of robj with OBJ_ENCODING_INT
2019-07-22 17:45:30 +08: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