antirez
7cd02bbab9
tracking_collisions.c: sha1 + crc64 implemented.
2019-08-02 20:24:27 +02:00
antirez
766550a7c6
tracking_collisions.c: initial skeleton.
...
... of a program to just test the hashing functions collisions on a 24
bit output with strings that are very likely Redis key names, and names
of a kind that are particularly prone to collisions.
2019-08-02 20:13:21 +02:00
antirez
b8f4ed2448
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
203a7762dc
Make EMBSTR case of #6261 more obvious.
2019-07-31 12:03:10 +02:00
Salvatore Sanfilippo
3dad067b17
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
3e66c43e84
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
0fb7decfec
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2019-07-31 10:37:17 +02:00
antirez
6637823a4f
HyperLogLog: fix the fix of a corruption bug.
2019-07-31 10:36:23 +02:00
Salvatore Sanfilippo
62aad1276e
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
8e2a99eb4b
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
4961e01375
Merge pull request #6269 from wubostc/patch-1
...
Reduce the calling stack
2019-07-30 11:41:48 +02:00
antirez
fe6d9e4c95
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
Salvatore Sanfilippo
8916e8bd25
Merge pull request #6282 from JohnSully/hll_corruption
...
Fix HLL corruption bug
2019-07-30 10:24:28 +02:00
John Sully
c6d5347a22
Fix HLL corruption bug
2019-07-29 18:11:52 -04:00
David Carlier
920cbf051a
Updating resident memory request impl on FreeBSD.
2019-07-28 14:33:57 +01:00
antirez
cf2df9829c
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2019-07-25 19:18:26 +02:00
antirez
4e547a0ac5
Mark diskless loads as experimental in redis.conf.
2019-07-25 19:17:58 +02:00
Salvatore Sanfilippo
6b03774963
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
d427b312ea
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2019-07-24 11:45:19 +02:00
antirez
63e1d1cb27
Client side caching: document tracking-table-max-fill in redis.conf.
2019-07-24 11:45:10 +02:00
antirez
27095db3f3
Example redis.conf: stay under 80 cols.
2019-07-24 11:38:11 +02:00
antirez
83b8fbf580
Client side caching: config option for table fill rate.
2019-07-24 11:35:01 +02:00
antirez
1ead7a1158
Remove experimental warning from diskless replication.
2019-07-24 11:33:53 +02:00
wubostc
61fe76a7b9
Reduce the calling stack
2019-07-24 16:22:26 +08:00
Salvatore Sanfilippo
ece91a4bc7
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
1d54931685
Client side caching: show tracking slots usage in INFO.
2019-07-23 11:02:14 +02:00
antirez
79a73bb95a
Client side caching: implement full slot limit function.
2019-07-23 10:57:22 +02:00
Salvatore Sanfilippo
36e71cb385
Merge pull request #6267 from soloestoy/opt-claim-trackingtable
...
Client side caching: do not reclaim tracking table if it's empty
2019-07-23 09:43:41 +02:00
zhaozhao.zz
408ca31d16
Client side caching: do not reclaim tracking table if it's empty
2019-07-23 15:25:00 +08:00
Madelyn Olson
4520e87800
Hide HELLO and AUTH from slowlog and monitor
2019-07-22 22:53:15 -07:00
Madelyn Olson
dedbc9d4d2
Removed unecessary creation of Redis objects
2019-07-22 22:52:16 -07:00
Oran Agra
ff0780e8e6
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
f2f3d91e78
Client side caching: split invalidation into key / slot.
2019-07-22 18:59:53 +02:00
antirez
023b67e80f
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
ac05029790
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
06de8790dc
Client side caching: reclaim the tracking table on FLUSHALL.
2019-07-22 12:33:49 +02:00
antirez
df2e7cf4fc
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
ab49072362
Client side caching: don't hash the key if not needed.
2019-07-22 12:10:51 +02:00
antirez
bcf3cf8832
Clinet side caching: take count of used caching slots.
2019-07-22 11:47:44 +02:00
chendianqiang
4b89b52355
make memory usage consistent of robj with OBJ_ENCODING_INT
2019-07-22 17:45:30 +08:00
antirez
92455bb036
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
b8d5518787
RDB: make sure to abort on LZF encoding error.
2019-07-18 18:59:38 +02:00
antirez
a345fef285
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
344f46380f
Merge pull request #6252 from soloestoy/tracking-flushdb
...
Tracking flushdb
2019-07-18 16:41:37 +02:00
antirez
db69845b48
RDB: update rdbLoadRio comment about EOF condition.
2019-07-18 12:37:55 +02:00
zhaozhao.zz
996dcae44f
Client side caching: filter clients untracking
2019-07-18 16:46:19 +08:00
antirez
72b7b904c1
RDB: try to make error handling code more readable.
2019-07-17 17:30:02 +02:00
antirez
94186a607e
Rio: when in error condition avoid doing the operation.
2019-07-17 16:46:22 +02:00
antirez
ecf5d7a662
RDB: modify rdbReportError() var name for clarity.
2019-07-17 16:46:22 +02:00
antirez
363b131aff
Rio: remember read/write error conditions.
2019-07-17 16:46:22 +02:00