263 Commits

Author SHA1 Message Date
antirez
53053f5f30 ACL: Fix compilation by adding prototype and c->cmd fix. 2019-01-14 13:22:56 +01:00
antirez
b497dbb481 ACL: ACLLCOMMAND flags. 2019-01-14 13:21:21 +01:00
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