5834 Commits

Author SHA1 Message Date
antirez
33e35c3562 RESP3: implement lua.setresp(). 2019-09-13 19:01:39 +02:00
antirez
fa2ed64ba1 ACL: store hashed passwords in memory.
Note that this breaks API compatibility with Redis < 6:

    CONFIG GET requirepass

Will no longer return a cleartext password as well, but the SHA256 hash
of the password set.
2019-09-12 12:54:57 +02:00
antirez
036c83d8ec ACL: SHA256 based password hashing function implemented. 2019-09-12 12:33:22 +02:00
antirez
ecf8dc6ff6 ACL: add slightly modified version of sha256.c for password hashing.
memory.h include removed, types substituted with stdint types.
2019-09-12 12:21:37 +02:00
antirez
e645c794cf ACL: protect MULTI/EXEC transactions after rules change. 2019-09-11 19:42:10 +02:00
antirez
a468b0cfb0 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2019-09-06 12:24:40 +02:00
antirez
c98af3a550 handleClientsBlockedOnKeys() refactoring. 2019-09-06 12:24:26 +02:00
Salvatore Sanfilippo
884b430457 Merge pull request #6364 from oranagra/fix_module_aux_when
Fix to module aux data rdb format for backwards compatibility with old check-rdb
2019-09-05 13:30:26 +02:00
Oran Agra
68e1809589 Fix to module aux data rdb format for backwards compatibility with old check-rdb
When implementing the code that saves and loads these aux fields we used rdb
format that was added for that in redis 5.0, but then we added the 'when' field
which meant that the old redis-check-rdb won't be able to skip these.
this fix adds an opcode as if that 'when' is part of the module data.
2019-09-05 14:11:37 +03:00
antirez
3984b4fdd9 Fix handleClientsBlockedOnKeys() names in comments. 2019-09-05 13:05:57 +02:00
antirez
1f813b3723 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
4383958317 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
9658ff71bf 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
2e1e170aad RESP3: fix cases of NULL reported instead of empty aggregate. 2019-09-02 12:50:47 +02:00
antirez
4ff08c8657 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
3b40a88587 More strict checks and better comments in flushSlaveOutputBuffers().
Related to #6296.
2019-08-31 14:46:24 +02:00
antirez
d5e2fe1532 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2019-08-31 14:41:28 +02:00
antirez
11228bd0fb Improve comment in flushSlavesOutputBuffers(). 2019-08-31 14:40:09 +02:00
Salvatore Sanfilippo
cf06296f2f Merge pull request #6296 from soloestoy/flushSlavesOutputBuffers-bugfix
networking: flushSlavesOutputBuffers bugfix
2019-08-31 14:39:33 +02:00
Oran Agra
5973b475cb RM_ReplyWithCString was missing registration 2019-08-07 13:06:11 +03:00
antirez
e87768e8ca Replication: clarify why repl_put_online_on_ack exists at all. 2019-08-05 17:38:15 +02:00
zhaozhao.zz
89dc16f01d networking: flushSlavesOutputBuffers bugfix 2019-08-02 17:17:19 +08: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
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
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
83b8fbf580 Client side caching: config option for table fill rate. 2019-07-24 11:35:01 +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
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