antirez
694145bd74
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2018-05-24 18:21:23 +02:00
antirez
98d5d3f118
Make active defragmentation tests optional.
...
They failed when active defrag could not be activated because the
Jemalloc version does not include the additional APIs.
2018-05-24 18:04:21 +02:00
Salvatore Sanfilippo
b23a501135
Merge pull request #4099 from JunHe77/aarch64_stack_cflag
...
Fixed stack trace generation on aarch64
2018-05-24 16:16:12 +02:00
Salvatore Sanfilippo
18b7f71130
Merge pull request #4932 from 0xtonyxia/fix-redis-cli-set-prefer-memory-leak
...
Fix redis-cli memory leak when sending set :preference command.
2018-05-24 16:15:21 +02:00
Salvatore Sanfilippo
ef7ccad180
Merge pull request #4922 from 0xtonyxia/enhance-cli-security
...
Enhance security for redis-cli
2018-05-24 16:14:42 +02:00
Salvatore Sanfilippo
8a200b04c3
Merge pull request #4831 from 0xtonyxia/fix-xadd-arity-check
...
Bugfix: xadd comand <field,value> arity check
2018-05-24 16:07:19 +02:00
antirez
de4b6cb27b
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2018-05-23 17:14:59 +02:00
antirez
8631e64779
Sentinel: fix delay in detecting ODOWN.
...
See issue #2819 for details. The gist is that when we want to send INFO
because we are over the time, we used to send only INFO commands, no
longer sending PING commands. However if a master fails exactly when we
are about to send an INFO command, the PING times will result zero
because the PONG reply was already received, and we'll fail to send more
PINGs, since we try only to send INFO commands: the failure detector
will delay until the connection is closed and re-opened for "long
timeout".
This commit changes the logic so that we can send the three kind of
messages regardless of the fact we sent another one already in the same
code path. It could happen that we go over the message limit for the
link by a few messages, but this is not significant. However now we'll
not introduce delays in sending commands just because there was
something else to send at the same time.
2018-05-23 17:13:44 +02:00
Salvatore Sanfilippo
1ab3c82375
Merge pull request #4908 from soloestoy/aof-rdb-preamble-compatible-checksum-no
...
AOF & RDB: be compatible with rdbchecksum no
2018-05-23 17:11:00 +02:00
zhaozhao.zz
4e7a160b9b
ZPOP: fix the wrong keyc, should be 1
2018-05-22 21:31:22 +08:00
dejun.xdj
46e241ac8e
Fix redis-cli memory leak when sending set preference command.
2018-05-21 12:19:37 +08:00
dejun.xdj
95b988b6c6
Check if the repeat value is positive in while loop of cliSendCommand().
...
In case that the incoming repeat parameter is negative and causes a
deadless loop.
2018-05-21 12:06:48 +08:00
dejun.xdj
cc7ffdfdf2
Change the type of repeat argument to long for function cliSendCommand.
...
To be in consistent with the original definition.
2018-05-21 12:04:53 +08:00
dejun.xdj
b2762f1ff2
Fix negtive repeat command value issue.
...
If command like "-1 set a b" is sent with redis-cli, it will cause a deadless loop. So some repeat value checking logic is added to avoid this.
2018-05-19 22:50:40 +08:00
dejun.xdj
c2e2314640
Detect and stop saving history for auth command with repeat option.
...
Put the repeat option checking code a little forward to avoid repeat logic.
2018-05-18 11:40:05 +08:00
dejun.xdj
ef931ef93e
Change the warning message a little bit to avoid trademark issuses.
2018-05-18 11:37:31 +08:00
antirez
3c968ff030
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2018-05-17 16:53:14 +02:00
antirez
3c43e984db
Merge remote-tracking branch 'artix/trib2cli' into unstable
2018-05-17 16:52:31 +02:00
Oran Agra
ad133e1023
Active defrag fixes for 32bit builds
...
problems fixed:
* failing to read fragmentation information from jemalloc
* overflow in jemalloc fragmentation hint to the defragger
* test suite not triggering eviction after population
2018-05-17 09:52:00 +03:00
artix
e47c751c74
Removed TODO in redis-cli
2018-05-16 18:04:13 +02:00
artix
1e4fb1b33a
Cluster Manager: fixed unprinted reply error
2018-05-16 17:49:18 +02:00
dejun.xdj
b263c7c465
Stop saving auth command in redis-cli history.
2018-05-16 16:18:00 +08:00
dejun.xdj
c082221aef
Add warning message when using password on command line
2018-05-16 16:15:12 +08:00
artix
2f9c032a13
Cluster Manager: print flags as strings.
2018-05-15 18:41:46 +02:00
antirez
25f017e563
ZPOP: fix replication of blocking ZPOP.
2018-05-15 16:03:56 +02:00
artix
3c039996b5
- Fixed mistyped redis command (clusterManagerGetNodeWithMostKeysInSlot)
...
- Cluster node structure is now updated after ADDSLOTS
2018-05-11 18:29:12 +02:00
antirez
56bbab238a
ZPOP: change sync ZPOP to have a count argument instead of N keys.
...
Usually blocking operations make a lot of sense with multiple keys so
that we can listen to multiple queues (or whatever the app models) with
a single connection. However in the synchronous case it is more useful
to be able to ask for N elements. This is a change that I also wanted to
perform soon or later in the blocking list variant, but here it is more
natural since there is no reply type difference.
2018-05-11 18:00:32 +02:00
antirez
6efb6c1e06
ZPOP: renaming to have explicit MIN/MAX score idea.
...
This commit also adds a top comment about a subtle behavior of mixing
blocking operations of different types in the same key.
2018-05-11 17:31:53 +02:00
antirez
6b026b70a8
Merge branch 'zpop' of https://github.com/itamarhaber/redis into zpop
2018-05-11 10:40:13 +02:00
antirez
b85aae78df
Fix rdb.c dictionary iterator release in 2 more places.
2018-05-09 12:06:37 +02:00
antirez
cd87b3c71f
Fix rdb.c dictionary iterator release.
...
Some times it was not released on error, sometimes it was released two
times because the error path expected the "di" var to be NULL if the
iterator was already released. Thanks to @oranagra for pinging me about
potential problems of this kind inside rdb.c.
2018-05-09 11:03:27 +02:00
Salvatore Sanfilippo
aaef5f00cc
Merge pull request #4594 from smallstool/bugfix-freeMemoryIfneeded-int-overflow
...
fix int overflow problem in freeMemoryIfNeeded
2018-05-08 17:27:18 +02:00
zhaozhao.zz
edb92db533
AOF & RDB: be compatible with rdbchecksum no
2018-05-08 19:22:13 +08:00
赵磊
8d93f924ea
Fix dictScan(): It can't scan all buckets when dict is shrinking.
2018-05-08 15:30:11 +08:00
artix
3312de067c
Cluster Manager: --cluster options can now be placed everywhere
2018-05-07 17:31:34 +02:00
Itamar Haber
438125b47c
Implements [B]Z[REV]POP and the respective unit tests
...
An implementation of the
[Ze POP Redis Module](https://github.com/itamarhaber/zpop ) as core
Redis commands.
Fixes #1861 .
2018-04-30 02:10:42 +03:00
artix
be94e89031
Cluster Manager: fixed expected slots calculation (rebalance)
...
Cluster Manager: fixed argument parsing after --cluster-weight
2018-04-23 16:28:48 +02:00
artix
2f31545beb
Cluster Manager: fixed bug when parsing CLUSTER NODES reply (clusterManagerNodeLoadInfo)
2018-04-23 16:28:48 +02:00
artix
5bc2c98789
Cluster Manager: code improvements and more comments added.
2018-04-23 16:28:48 +02:00
artix
5f358dae33
Cluster Manager: set-timeout command
2018-04-23 16:28:48 +02:00
artix
52f17f6f8e
- Cluster Manager: del-node command.
...
- Cluster Manager: fixed bug in clusterManagerNodeWithLeastReplicas
2018-04-23 16:28:48 +02:00
artix
aeaf6ee1c3
Cluster Manager: add-node command.
2018-04-23 16:28:48 +02:00
artix
efa51f1617
Cluster Manager: added clusterManagerCheckCluster to import command
2018-04-23 16:28:48 +02:00
artix
1f548359cb
Cluster Manager: import command
2018-04-23 16:28:48 +02:00
artix
3f8a4adb49
Cluster Manager: fix command.
2018-04-23 16:28:48 +02:00
artix
6d1a7cec23
Cluster Manager: rebalance command
2018-04-23 16:28:48 +02:00
artix
adebee8adc
clusterManagerAddSlots: changed the way ADDSLOTS command is built
2018-04-23 16:28:48 +02:00
artix
a4a1c7bb52
ClusterManager: fixed --cluster-from 'all' parsing
2018-04-23 16:28:48 +02:00
Artix
5b3d73b3d7
Cluster Manager: fixed some memory error
2018-04-23 16:28:48 +02:00
artix
220375b424
Fixed memory write error in clusterManagerGetConfigSignature
2018-04-23 16:28:48 +02:00
artix
99da9c9508
Cluster Manager: reshard command, fixed slots
...
parsing bug and other minor bugs.
2018-04-23 16:28:48 +02:00
artix
7d609ff952
Cluster Manager:
...
- Almost all Cluster Manager related code moved to
the same section.
- Many macroes converted to functions
- Added various comments
- Little code restyling
2018-04-23 16:28:48 +02:00
artix
4e0c2f9c3c
- Fixed bug in clusterManagerGetAntiAffinityScore
...
- Code improvements
2018-04-23 16:28:48 +02:00
artix
18910013cd
Cluster Manager: colorized output
2018-04-23 16:28:48 +02:00
artix
307d995f75
Cluster Manager: improved cleanup/error handling in various functions
2018-04-23 16:28:48 +02:00
artix
2d677e2bf3
Cluster Manager: 'call' command.
2018-04-23 16:28:48 +02:00
artix
1ad1f00163
Cluster Manager: CLUSTER_MANAGER_NODE_CONNECT macro
2018-04-23 16:28:48 +02:00
artix
2f48d62423
ClusterManager: added replicas count to clusterManagerNode
2018-04-23 16:28:48 +02:00
artix
c002b95d89
Cluster Manager: cluster is considered consistent if only one node has been found
2018-04-23 16:28:48 +02:00
artix
4cc8de1a37
Cluster Manager: reply error catch for MEET command
2018-04-23 16:28:48 +02:00
artix
65d37960e7
Cluster Manager: slots coverage check.
2018-04-23 16:28:48 +02:00
artix
b3e0ca3412
- Cluster Manager: fixed various memory leaks
...
- Cluster Manager: fixed flags assignment in
clusterManagerNodeLoadInfo
2018-04-23 16:28:48 +02:00
artix
8c7ad80f9f
Added check for open slots (clusterManagerCheckCluster)
2018-04-23 16:28:47 +02:00
artix
486c7af7b8
Cluster Manager: 'create', 'info' and 'check' commands
2018-04-23 16:28:47 +02:00
artix
ad911a338a
Cluster Manager mode
2018-04-23 16:28:47 +02:00
zhaozhao.zz
24036b4d32
RDB: expand dict if needed when rdb load object
2018-04-22 22:30:44 +08:00
antirez
e6b0e8d9ec
Streams: XTRIM command added.
2018-04-19 16:25:29 +02:00
antirez
19ae809458
Streams: XADD, handle signaling of write in different ways.
2018-04-19 16:11:43 +02:00
antirez
aba76320d5
Streams: XDEL command.
2018-04-18 13:12:09 +02:00
antirez
9c149bf1f1
Streams: higher level "delete by ID" API for streams.
2018-04-17 17:55:56 +02:00
antirez
24ac2b4c74
Streams: iterator entry deletion abilities.
2018-04-17 17:18:00 +02:00
zhaozhao.zz
775adf544c
Modules Timer API: fix wrong raxInsert() usage
2018-04-14 01:20:02 +08:00
antirez
e07af6a2b7
Modules API: Add call to get the blocked client handle from the context.
...
This is useful in the reply and timeout callback, if the module wants to
do some cleanup of the blocked client handle that may be stored around
in the module-private data structures.
2018-04-13 13:48:11 +02:00
antirez
da0e192277
Modules API: moduleGetReplyClient() refactoring.
2018-04-13 13:42:49 +02:00
antirez
404160a271
Modules API: blocked client disconnection callback.
2018-04-12 13:21:48 +02:00
antirez
005c932f22
Modules API: fix timer example.
2018-04-12 13:00:18 +02:00
antirez
4e53624052
Modules API: fix OOM_WARNING flag implementation.
2018-04-11 16:25:54 +02:00
antirez
0afac6939a
Modules API: OOM_WARNING flags.
...
In some modules it may be useful to have an idea about being near to
OOM. Anyway additionally an explicit call to get the fill ratio will be
added in the future.
2018-04-11 16:22:52 +02:00
antirez
de7de53e64
getMaxmemoryState() fixed and improved.
2018-04-11 12:48:26 +02:00
dejun.xdj
b6b00f35ca
Return more accurate message when specified ID is invalid
2018-04-10 17:11:10 +08:00
dejun.xdj
3c20b3fc24
Bugfix: xadd command ID parse
...
strictly check the string to be converted,
strtoull() in libc may not set errno to EINVAL when the string contains
invalid digits.
2018-04-10 17:05:48 +08:00
dejun.xdj
07125b8d22
Bugfix: xadd comand <field,value> arity check
...
missing parenthesis causes wrong arithmetic priority.
2018-04-10 16:36:05 +08:00
antirez
f97efe0cac
Modules: context flags now include OOM flag.
...
Plus freeMemoryIfNeeded() refactoring to improve legibility.
Please review this commit for sanity.
2018-04-09 17:44:30 +02:00
antirez
6888c1a10d
freeMemoryIfNeeded() lacked a top comment.
2018-04-09 17:20:36 +02:00
antirez
9a0dbbb594
Modules: remove trailing empty spaces.
2018-04-09 17:16:55 +02:00
antirez
eaafea4828
Modules API: experimental APIs version.
...
This way it is possible to use conditional compilation to be compatible
with a larger amount of Redis versions, however note that this breaks
binary compatibiltiy, so the module must be compiled with the
corresponding redismodule.h file depending on the version of Redis
targeted.
2018-04-09 12:17:19 +02:00
antirez
49e098234a
Modules API: blocked client free callback modified to get a context.
...
Note that this was an experimental API that can only be enabled with
REIDSMODULE_EXPERIMENTAL_API, so it is subject to change until its
promoted to stable API. Sorry for the breakage, it is trivial to
resolve btw. This change will not be back ported to Redis 4.0.
2018-04-09 11:54:44 +02:00
antirez
b2868c7b9c
Modules API: RM_GetRandomBytes() / GetRandomHexChars().
2018-04-05 13:24:22 +02:00
antirez
c75582889a
Modules Cluster API: GetClusterSize() added.
2018-04-01 16:36:32 +02:00
antirez
27f9c8108c
Modules Cluster API: GetMyClusterID() added.
2018-04-01 16:20:57 +02:00
antirez
19c42c901b
Modules Timer API: add example of API.
2018-03-31 10:12:34 +02:00
antirez
ee982f4031
Modules Timer API: Wait at least 1 ms per iteration. Convert to ms.
2018-03-31 10:11:30 +02:00
antirez
4c11bc6cf0
Modules Timer API: fix wrong raxRemove() key argument.
2018-03-31 09:58:43 +02:00
antirez
2f7da0fd1a
Modules Timer API: fix infinite loop and export API.
2018-03-31 00:44:46 +02:00
antirez
b85a465c25
Modules Timer API: timer handling implemented.
2018-03-30 22:50:21 +02:00
antirez
561039c125
Modules Timer API: initial implementation.
2018-03-30 20:40:35 +02:00
antirez
192361b562
Modules Cluster API: node API exported, example improved.
2018-03-30 17:00:45 +02:00
antirez
16178b692e
Modules Cluster API: nodes list and info API.
2018-03-30 16:16:47 +02:00
antirez
83ec35770e
Modules Cluster API: node information struct and flags.
2018-03-30 13:16:55 +02:00
antirez
a97df1a6e1
Modules Cluster API: make node IDs pointers constant.
2018-03-30 13:16:07 +02:00