5227 Commits

Author SHA1 Message Date
antirez
73b50bef3f LOLWUT: add Redis version in the output.
This creates an incentive to run the command and as a side effect
experience the art piece inside.
2018-09-13 21:36:02 +02:00
Guy Korland
75597cc3bf No need to return "OK"
No need to return "+OK" in this case since the result is an Array of all the nodes
2018-09-13 15:42:17 +03:00
antirez
ec41b2150e LOLWUT: Ness -> Nees. 2018-09-13 09:03:36 +02:00
antirez
ab1000bdd8 LOLWUT: Limit maximum CPU effort. 2018-09-13 08:31:55 +02:00
antirez
b72f8f6dda LOLWUT: change padding conditional to a more direct one. 2018-09-13 08:29:55 +02:00
antirez
391c9b2965 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2018-09-13 08:08:56 +02:00
antirez
ad8b827602 LOLWUT: fix crash when col < 2.
Close #5345.
2018-09-13 08:08:30 +02:00
Slobodan Mišković
88a23cedf7 Fix spelling descrive -> describe 2018-09-12 12:10:07 -07:00
antirez
658ed67342 LOLWUT: fix structure typo in comment. 2018-09-12 17:53:00 +02:00
antirez
54057e970a LOLWUT: Fix license copyright year. 2018-09-12 12:40:40 +02:00
antirez
36d3063ff9 LOLWUT: increase the translation factor. 2018-09-12 12:28:28 +02:00
antirez
dfd55ed906 LOLWUT: change default size to fit a normal terminal better. 2018-09-12 12:26:33 +02:00
antirez
0a77ee90ee LOLWUT: wrap it into a proper command. 2018-09-12 11:34:10 +02:00
antirez
b222cb83eb LOLWUT: draw Schotter by Georg Nees. 2018-09-12 11:16:07 +02:00
antirez
29298b3d5f LOLWUT: draw rotated squares using trivial trigonometry. 2018-09-12 10:36:02 +02:00
antirez
8cf08e5f3b LOLWUT: draw lines using Bresenham algorithm. 2018-09-11 21:15:43 +02:00
antirez
08cbc417c3 LOLWUT: Rendering of the virtual canvas to a string. 2018-09-11 17:32:57 +02:00
antirez
98a41d86d0 LOLWUT: show the output verbatim in redis-cli. 2018-09-11 16:29:31 +02:00
antirez
dcc3e89174 LOLWUT: canvas structure and BSD license on top. 2018-09-11 16:09:24 +02:00
antirez
48e09d5896 LOLWUT: Emit Braille unicode according to pixel pattern. 2018-09-11 16:04:25 +02:00
antirez
334ce65cd8 Slave removal: remove slave from object.c. 2018-09-11 15:32:28 +02:00
antirez
2c83618fae Slave removal: server.c logs fixed. 2018-09-11 15:32:28 +02:00
antirez
4766fdfaaa Slave removal: replace very few things in Sentinel.
SENTINEL REPLICAS was added as an alias, in the configuration rewriting
now it uses known-replica, however all the rest is basically at API
level of logged events and messages having to do with the protocol, so
there is very little to do here compared to the Redis core itself, to
preserve compatibility.
2018-09-11 15:32:28 +02:00
antirez
3e5fa60b4f Slave removal: scripting.c logs and other stuff fixed. 2018-09-11 15:32:28 +02:00
antirez
88cef8693f Slave removal: replication.c logs fixed. 2018-09-11 15:32:28 +02:00
antirez
fb6502be2f Slave removal: networking.c logs fixed. 2018-09-11 15:32:28 +02:00
antirez
1ce5c6ff00 Slave removal: blocked.c logs fixed. 2018-09-11 15:32:28 +02:00
antirez
aee9d1dc3b Slave removal: slave mode -> replica mode text in redis-cli. 2018-09-11 15:32:28 +02:00
antirez
8347a21976 Slave removal: slave -> replica in redis.conf and output buffer option. 2018-09-11 15:32:28 +02:00
antirez
6444c30ae2 Slave removal: config.c converted + config rewriting hacks.
Aliases added for all the commands mentioning slave. Moreover CONFIG
REWRITE will use the new names, and will be able to reuse the old lines
mentioning the old options.
2018-09-11 15:32:28 +02:00
antirez
8e3686dcca Slave removal: Convert cluster.c log messages and command names. 2018-09-11 15:32:28 +02:00
antirez
88ac42587d Slave removal: redis-cli --slave -> --replica.
--slave alias remains but is undocumented, just for backward
compatibiltiy.
2018-09-11 15:32:28 +02:00
antirez
90d12c7929 Slave removal: SLAVEOF -> REPLICAOF. SLAVEOF is now an alias. 2018-09-11 15:32:28 +02:00
Salvatore Sanfilippo
756e50ccf6 Merge pull request #5307 from mesbahamin/use_geohash_defines_in_check
Use geohash limit defines in constraint check
2018-09-07 12:31:27 +02:00
Salvatore Sanfilippo
34d2c23324 Merge pull request #5239 from jeffreylovitz/cli-help-fix
CLI Help text loop verifies arg count
2018-09-07 12:28:22 +02:00
Salvatore Sanfilippo
40191136ba Merge pull request #5322 from youjiali1995/fix-sentinel-randomize
sentinel: fix randomized sentinelTimer.
2018-09-07 12:10:35 +02:00
Salvatore Sanfilippo
d91e3e7965 Merge pull request #5324 from youjiali1995/fix-bio
bio: fix bioWaitStepOfType.
2018-09-07 12:06:02 +02:00
zhaozhao.zz
0b099fcd3c Scripting & Streams: some commands need right flags
xadd with id * generates random stream id

xadd & xtrim with approximate maxlen count may
trim stream randomly

xinfo may get random radix-tree-keys/nodes

xpending may get random idletime

xclaim: master and slave may have different
idletime in stream
2018-09-06 21:12:46 +08:00
Weiliang Li
15fb7210b5 fix usage typo in redis-cli 2018-09-06 13:40:05 +08:00
antirez
23a5668d8f Use commands (effects) replication by default in scripts.
See issue #5250 and issue #5292 for more info.
2018-09-05 19:33:56 +02:00
antirez
1dcd1e5cfc Safer script stop condition on OOM.
Here the idea is that we do not want freeMemoryIfNeeded() to propagate a
DEL command before the script and change what happens in the script
execution once it reaches the slave. For example see this potential
issue (in the words of @soloestoy):

On master, we run the following script:

    if redis.call('get','key')
    then
        redis.call('set','xxx','yyy')
    end
    redis.call('set','c','d')

Then when redis attempts to execute redis.call('set','xxx','yyy'), we call freeMemoryIfNeeded(), and the key may get deleted, and because redis.call('set','xxx','yyy') has already been executed on master, this script will be replicated to slave.

But the slave received "DEL key" before the script, and will ignore maxmemory, so after that master has xxx and c, slave has only one key c.

Note that this patch (and other related work) was authored collaboratively in
issue #5250 with the help of @soloestoy and @oranagra.

Related to issue #5250.
2018-09-05 15:48:08 +02:00
antirez
3396fb9118 Propagate read-only scripts as SCRIPT LOAD.
See issue #5250 and the new comments added to the code in this commit
for details.
2018-09-05 15:44:33 +02:00
antirez
1ff2179d2e Don't perform eviction when re-entering the event loop.
Related to #5250.
2018-09-05 13:10:07 +02:00
youjiali1995
c7fcf97d8c bio: fix bioWaitStepOfType. 2018-09-05 16:51:13 +08:00
youjiali1995
c64f8bd56a sentinel: fix randomized sentinelTimer. 2018-09-05 10:32:18 +08:00
antirez
d3465f226c Clarify why remaining may be zero in readQueryFromClient().
See #5304.
2018-09-04 13:29:27 +02:00
antirez
d11a695425 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2018-09-04 13:26:06 +02:00
Salvatore Sanfilippo
f4d332756d Merge pull request #5304 from soloestoy/fix-unexpected-readlen
networking: fix unexpected negative or zero readlen
2018-09-04 13:25:28 +02:00
Sascha Roland
24fe102997 #5299 Fix blocking XREAD for streams that ran dry
The conclusion, that a xread request can be answered syncronously in
case that the stream's last_id is larger than the passed last-received-id
parameter, assumes, that there must be entries present, which could be
returned immediately.
This assumption fails for empty streams that actually contained some
entries which got removed by xdel, ... .

As result, the client is answered synchronously with an empty result,
instead of blocking for new entries to arrive.
An additional check for a non-empty stream is required.
2018-09-04 13:13:36 +02:00
Salvatore Sanfilippo
b83530ac8d Merge pull request #5315 from soloestoy/optimize-parsing-large-bulk
networking: optimize parsing large bulk greater than 32k
2018-09-04 12:49:50 +02:00