antirez
b2636ecdf5
ACL: avoid a radix tree lookup for the default user.
2019-01-11 11:32:41 +01:00
antirez
487b8fcbaa
ACL: implement ACLCreateUser().
2019-01-10 17:01:12 +01:00
antirez
e75a2b8500
ACL: initialization function.
2019-01-10 16:39:32 +01:00
antirez
6771d47230
ACL: add a reference to the user in each client.
2019-01-10 16:34:13 +01:00
antirez
9633476699
ACL: improved version of the user structure.
2019-01-10 12:47:52 +01:00
antirez
cc5222bd7a
ACL: use a fixed table for command IDs.
2019-01-09 21:31:29 +01:00
antirez
a571c99587
ACL: introduce the concept of command ID.
2019-01-09 17:20:47 +01:00
antirez
106977aaf9
ACL: refactoring of the original authentication code.
2019-01-09 17:00:30 +01:00
antirez
5190cbe08f
RESP3: addReplyString() -> addReplyProto().
...
The function naming was totally nuts. Let's fix it as we break PRs
anyway with RESP3 refactoring and changes.
2019-01-09 17:00:30 +01:00
antirez
e936aaf5fc
RESP3: verbatim reply API + DEBUG PROTOCOL support.
2019-01-09 17:00:30 +01:00
antirez
e5241b6e58
RESP3: addReplyBool() implemented.
2019-01-09 17:00:29 +01:00
antirez
75a6d12dd0
RESP3: initial implementation of the HELLO command.
2019-01-09 17:00:29 +01:00
antirez
92c9429d17
RESP3: restore the concept of null array for RESP2 compat.
2019-01-09 17:00:29 +01:00
antirez
d266105a45
RESP3: add shared.nullarray for better RESP2 compat.
2019-01-09 17:00:29 +01:00
antirez
0dbdaab2a1
RESP3: addReplyNullArray() added for better RESP2 compat.
2019-01-09 17:00:29 +01:00
antirez
7872d57d27
RESP3: most null replies converted.
2019-01-09 17:00:29 +01:00
antirez
8413c6f107
RESP3: addReplyNull() added.
2019-01-09 17:00:29 +01:00
antirez
a039a1bc3c
RESP3: remove other pointless shared object.
2019-01-09 17:00:29 +01:00
antirez
ee2564e90e
RESP3: remove certain constants to spot places to fix.
2019-01-09 17:00:29 +01:00
antirez
342f336398
RESP3: bring RESP2 compatibility to previous changes.
2019-01-09 17:00:29 +01:00
antirez
76fa77f9d5
RESP3: addReply*Len() support for RESP2 backward comp.
2019-01-09 17:00:29 +01:00
antirez
6fbf149112
RESP3: put RESP version in the client structure.
2019-01-09 17:00:29 +01:00
antirez
33374b02bf
RESP3: Use new deferred len API in server.c.
2019-01-09 17:00:29 +01:00
antirez
1c82be419f
RESP3: Aggregate deferred lengths functions.
2019-01-09 17:00:29 +01:00
antirez
b166aff1bf
freeMemoryIfNeeded() small refactoring.
...
Related to issue #5686 and PR #5689 .
2018-12-12 11:37:15 +01:00
antirez
fc4b1319d0
Reject EXEC containing write commands against RO replica.
...
Thanks to @soloestoy for discovering this issue in #5667 .
This is an alternative fix in order to avoid both cycling the clients
and also disconnecting clients just having valid read-only transactions
pending.
2018-12-11 11:39:21 +01:00
Oran Agra
1dbdef57cd
fix #5580 , display fragmentation and rss overhead bytes as signed
...
these metrics become negative when RSS is smaller than the used_memory.
This can easily happen when the program allocated a lot of memory and haven't
written to it yet, in which case the kernel doesn't allocate any pages to the process
2018-12-02 15:29:20 +02:00
antirez
2093b42879
Streams: XSTREAM SETID -> XSETID.
...
Keep vanilla stream commands at toplevel, see #5426 .
2018-10-16 13:17:14 +02:00
Salvatore Sanfilippo
060cd5c941
Merge pull request #5426 from soloestoy/feature-xstream
...
Bugfix data inconsistency after aof rewrite, and add XSTREAM command.
2018-10-16 13:10:36 +02:00
antirez
599e872fba
Fix propagation of consumer groups last ID.
...
Issue #5433 .
2018-10-10 12:51:02 +02:00
antirez
25119c7069
Introduce protectClient() + some refactoring.
...
The idea is to have an API for the cases like -BUSY state and DEBUG
RELOAD where we have to manually deinstall the read handler.
See #4804 .
2018-10-09 13:15:41 +02:00
zhaozhao.zz
0a968cc348
Streams: add a new command XTREAM
...
XSTREAM CREATE <key> <id or *> -- Create a new empty stream.
XSTREAM SETID <key> <id or $> -- Set the current stream ID.
2018-10-09 13:11:04 +08:00
antirez
8aa0a33dbb
Module cluster flags: initial vars / defines added.
2018-09-19 11:20:52 +02:00
antirez
0a77ee90ee
LOLWUT: wrap it into a proper command.
2018-09-12 11:34:10 +02:00
antirez
90d12c7929
Slave removal: SLAVEOF -> REPLICAOF. SLAVEOF is now an alias.
2018-09-11 15:32:28 +02:00
antirez
1ee4350153
Unblocked clients API refactoring. See #4418 .
2018-09-03 18:39:18 +02:00
antirez
700a94f653
Make pending buffer processing safe for CLIENT_MASTER client.
...
Related to #5305 .
2018-09-03 18:17:31 +02:00
antirez
b0143d81f3
Introduce repl_slave_ignore_maxmemory flag internally.
...
Note: this breaks backward compatibility with Redis 4, since now slaves
by default are exact copies of masters and do not try to evict keys
independently.
2018-08-27 12:20:27 +02:00
Salvatore Sanfilippo
22f822a340
Merge pull request #5248 from soloestoy/rewrite-brpoplpush
...
rewrite BRPOPLPUSH as RPOPLPUSH to propagate
2018-08-26 16:31:24 +02:00
zhaozhao.zz
8613125969
block: rewrite BRPOPLPUSH as RPOPLPUSH to propagate
2018-08-14 20:58:58 +08:00
zhaozhao.zz
eca47868f0
pipeline: do not sdsrange querybuf unless all commands processed
...
This is an optimization for processing pipeline, we discussed a
problem in issue #5229 : clients may be paused if we apply `CLIENT
PAUSE` command, and then querybuf may grow too large, the cost of
memmove in sdsrange after parsing a completed command will be
horrible. The optimization is that parsing all commands in queyrbuf
, after that we can just call sdsrange only once.
2018-08-14 00:43:42 +08:00
Salvatore Sanfilippo
c42b48d349
Merge pull request #5189 from soloestoy/refactor-dbOverwrite
...
refactor dbOverwrite to make lazyfree work
2018-07-31 16:40:35 +02:00
antirez
ca20e19104
Introduce writeCommandsDeniedByDiskError().
2018-07-31 13:09:38 +02:00
zhaozhao.zz
f2a10a9536
refactor dbOverwrite to make lazyfree work
2018-07-31 12:07:57 +08:00
antirez
6eae385b74
Control dynamic HZ via server configuration.
2018-07-30 13:37:30 +02:00
antirez
6d60062a7b
Merge branch 'dynamic-hz' into unstable
2018-07-30 13:31:23 +02:00
Salvatore Sanfilippo
a5f07a06f4
Merge pull request #4883 from itamarhaber/lua_scripts-in-info-memory
...
Adds memory information about the scripts' cache to INFO
2018-07-23 18:43:05 +02:00
antirez
3d32af7ec6
Dynamic HZ: adapt cron frequency to number of clients.
2018-07-23 14:21:04 +02:00
antirez
6bfbad38af
Dynamic HZ: separate hz from the configured hz.
...
This way we can remember what the user configured HZ is, but change the
actual HZ dynamically if needed in the dynamic HZ feature
implementation.
2018-07-23 14:13:58 +02:00
Itamar Haber
527786c0f3
Adds Lua overheads to MEMORY STATS, smartens the MEMORY DOCTOR
2018-07-22 21:16:00 +03:00