263 Commits

Author SHA1 Message Date
antirez
c17fa9ba7b ACL: Fix compilation by adding prototype and c->cmd fix. 2019-01-14 13:22:56 +01:00
antirez
15748e1fe0 ACL: ACLLCOMMAND flags. 2019-01-14 13:21:21 +01:00
antirez
8df5007346 ACL: avoid a radix tree lookup for the default user. 2019-01-11 11:32:41 +01:00
antirez
b532a16298 ACL: implement ACLCreateUser(). 2019-01-10 17:01:12 +01:00
antirez
1d176f0f0e ACL: initialization function. 2019-01-10 16:39:32 +01:00
antirez
33ff2b2f35 ACL: add a reference to the user in each client. 2019-01-10 16:34:13 +01:00
antirez
4a3b37a7a7 ACL: improved version of the user structure. 2019-01-10 12:47:52 +01:00
antirez
6f25143af6 ACL: use a fixed table for command IDs. 2019-01-09 21:31:29 +01:00
antirez
5151f74fe1 ACL: introduce the concept of command ID. 2019-01-09 17:20:47 +01:00
antirez
4d33fe81cd ACL: refactoring of the original authentication code. 2019-01-09 17:00:30 +01:00
antirez
89b7b6a917 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
78a3a19b2c RESP3: verbatim reply API + DEBUG PROTOCOL support. 2019-01-09 17:00:30 +01:00
antirez
a6ead03510 RESP3: addReplyBool() implemented. 2019-01-09 17:00:29 +01:00
antirez
bf3d7bbf31 RESP3: initial implementation of the HELLO command. 2019-01-09 17:00:29 +01:00
antirez
f47004f589 RESP3: restore the concept of null array for RESP2 compat. 2019-01-09 17:00:29 +01:00
antirez
83ad63732e RESP3: add shared.nullarray for better RESP2 compat. 2019-01-09 17:00:29 +01:00
antirez
8ecf7693bf RESP3: addReplyNullArray() added for better RESP2 compat. 2019-01-09 17:00:29 +01:00
antirez
c8304b099d RESP3: most null replies converted. 2019-01-09 17:00:29 +01:00
antirez
29bbe91392 RESP3: addReplyNull() added. 2019-01-09 17:00:29 +01:00
antirez
e30fef5d8a RESP3: remove other pointless shared object. 2019-01-09 17:00:29 +01:00
antirez
5ebe3268ed RESP3: remove certain constants to spot places to fix. 2019-01-09 17:00:29 +01:00
antirez
56c95799a3 RESP3: bring RESP2 compatibility to previous changes. 2019-01-09 17:00:29 +01:00
antirez
e6a467814a RESP3: addReply*Len() support for RESP2 backward comp. 2019-01-09 17:00:29 +01:00
antirez
9325d288f6 RESP3: put RESP version in the client structure. 2019-01-09 17:00:29 +01:00
antirez
036e10dcb9 RESP3: Use new deferred len API in server.c. 2019-01-09 17:00:29 +01:00
antirez
689949fb30 RESP3: Aggregate deferred lengths functions. 2019-01-09 17:00:29 +01:00
antirez
421c242dd0 freeMemoryIfNeeded() small refactoring.
Related to issue #5686 and PR #5689.
2018-12-12 11:37:15 +01:00
antirez
83b0df508c 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
bad0b20979 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
8e399f0e01 Streams: XSTREAM SETID -> XSETID.
Keep vanilla stream commands at toplevel, see #5426.
2018-10-16 13:17:14 +02:00
Salvatore Sanfilippo
ff1b36c825 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
b10d99a13b Fix propagation of consumer groups last ID.
Issue #5433.
2018-10-10 12:51:02 +02:00
antirez
4e851f8044 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
7e2c73d79b 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
96ceafbe4d Module cluster flags: initial vars / defines added. 2018-09-19 11:20:52 +02:00
antirez
55d85db425 LOLWUT: wrap it into a proper command. 2018-09-12 11:34:10 +02:00
antirez
bdca5b9be5 Slave removal: SLAVEOF -> REPLICAOF. SLAVEOF is now an alias. 2018-09-11 15:32:28 +02:00
antirez
02306736c9 Unblocked clients API refactoring. See #4418. 2018-09-03 18:39:18 +02:00
antirez
f0348a6543 Make pending buffer processing safe for CLIENT_MASTER client.
Related to #5305.
2018-09-03 18:17:31 +02:00
antirez
d85194c4e1 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
38bcee980a Merge pull request #5248 from soloestoy/rewrite-brpoplpush
rewrite BRPOPLPUSH as RPOPLPUSH to propagate
2018-08-26 16:31:24 +02:00
zhaozhao.zz
b448b16718 block: rewrite BRPOPLPUSH as RPOPLPUSH to propagate 2018-08-14 20:58:58 +08:00
zhaozhao.zz
59c4b6bf00 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
b1092d1424 Merge pull request #5189 from soloestoy/refactor-dbOverwrite
refactor dbOverwrite to make lazyfree work
2018-07-31 16:40:35 +02:00
antirez
8442c25722 Introduce writeCommandsDeniedByDiskError(). 2018-07-31 13:09:38 +02:00
zhaozhao.zz
b880a352d6 refactor dbOverwrite to make lazyfree work 2018-07-31 12:07:57 +08:00
antirez
1a722347b0 Control dynamic HZ via server configuration. 2018-07-30 13:37:30 +02:00
antirez
f3bf122c28 Merge branch 'dynamic-hz' into unstable 2018-07-30 13:31:23 +02:00
Salvatore Sanfilippo
63171b81b0 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
89c6c7bd88 Dynamic HZ: adapt cron frequency to number of clients. 2018-07-23 14:21:04 +02:00