6801 Commits

Author SHA1 Message Date
antirez
0a6019e289 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
52e8b829fd Merge pull request #4935 from soloestoy/bugfix-zpop
bugfix for ZPOP: fix the wrong keyc, should be 1
2018-05-22 15:52:21 +02:00
zhaozhao.zz
09a01573c9 ZPOP: fix the wrong keyc, should be 1 2018-05-22 21:31:22 +08:00
antirez
d7daa627ed Merge branch 'unstable' of github.com:/antirez/redis into unstable 2018-05-17 16:53:14 +02:00
antirez
d5a97bb256 Merge remote-tracking branch 'artix/trib2cli' into unstable 2018-05-17 16:52:31 +02:00
Salvatore Sanfilippo
04c53669e1 Merge pull request #4927 from oranagra/defrag_32bit_fix
Active defrag fixes for 32bit builds
2018-05-17 12:24:40 +02:00
Oran Agra
0bd6e341f5 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
20c6dcb823 Removed TODO in redis-cli 2018-05-16 18:04:13 +02:00
artix
092761db62 Cluster Manager: fixed unprinted reply error 2018-05-16 17:49:18 +02:00
artix
c5458b11c4 Cluster Manager: print flags as strings. 2018-05-15 18:41:46 +02:00
antirez
402de41034 Test: fix blocking lists/zsets replication test.
By verifying that it was able to find a regression, and fixing it
accordingly.
2018-05-15 17:43:41 +02:00
antirez
3d8651911a Test: replication test blocking lists/zsets ops. 2018-05-15 17:33:29 +02:00
antirez
0d5689cc83 ZPOP: fix replication of blocking ZPOP. 2018-05-15 16:03:56 +02:00
artix
5d8f0ba7ea - Fixed mistyped redis command (clusterManagerGetNodeWithMostKeysInSlot)
- Cluster node structure is now updated after ADDSLOTS
2018-05-11 18:29:12 +02:00
antirez
d0326f472e ZPOP: fix the tests according to new non-blocking "count" argument. 2018-05-11 18:07:10 +02:00
antirez
7cc0d0875b 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
cbbeef707e 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
0e84003818 Merge branch 'zpop' of https://github.com/itamarhaber/redis into zpop 2018-05-11 10:40:13 +02:00
antirez
dabd389e2f Fix rdb.c dictionary iterator release in 2 more places. 2018-05-09 12:06:37 +02:00
antirez
e55e57f132 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
c2eb26d4ce Merge pull request #4594 from smallstool/bugfix-freeMemoryIfneeded-int-overflow
fix int overflow problem in freeMemoryIfNeeded
2018-05-08 17:27:18 +02:00
artix
0119cd160a Cluster Manager: --cluster options can now be placed everywhere 2018-05-07 17:31:34 +02:00
artix
614127c478 - Updated create-cluster with redis-cli
- Updated README
2018-05-07 15:56:15 +02:00
Itamar Haber
52c9565dda 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
b6cd3aee16 Merge branch 'trib2cli' of github.com:artix75/redis into trib2cli 2018-04-23 16:29:29 +02:00
artix
ff03a6c51d Cluster tests now using redis-cli instead of redis-trib 2018-04-23 16:28:48 +02:00
artix
96865ab61b Cluster Manager: fixed expected slots calculation (rebalance)
Cluster Manager: fixed argument parsing after --cluster-weight
2018-04-23 16:28:48 +02:00
artix
6a113e8f57 Cluster Manager: fixed bug when parsing CLUSTER NODES reply (clusterManagerNodeLoadInfo) 2018-04-23 16:28:48 +02:00
artix
c941584bff Cluster Manager: code improvements and more comments added. 2018-04-23 16:28:48 +02:00
artix
53667570a7 Cluster Manager: set-timeout command 2018-04-23 16:28:48 +02:00
artix
51b8ab3c97 - Cluster Manager: del-node command.
- Cluster Manager: fixed bug in clusterManagerNodeWithLeastReplicas
2018-04-23 16:28:48 +02:00
artix
29825d8198 Cluster Manager: add-node command. 2018-04-23 16:28:48 +02:00
artix
46a75898b3 Cluster Manager: added clusterManagerCheckCluster to import command 2018-04-23 16:28:48 +02:00
artix
1239139d08 Cluster Manager: import command 2018-04-23 16:28:48 +02:00
artix
213f0cff93 Cluster Manager: fix command. 2018-04-23 16:28:48 +02:00
artix
8d1f8e343e Cluster Manager: rebalance command 2018-04-23 16:28:48 +02:00
artix
05c0101164 clusterManagerAddSlots: changed the way ADDSLOTS command is built 2018-04-23 16:28:48 +02:00
artix
c45e915ff0 ClusterManager: fixed --cluster-from 'all' parsing 2018-04-23 16:28:48 +02:00
Artix
dcc7d42742 Cluster Manager: fixed some memory error 2018-04-23 16:28:48 +02:00
artix
d031ac4a42 Fixed memory write error in clusterManagerGetConfigSignature 2018-04-23 16:28:48 +02:00
artix
c26fc9a47b Cluster Manager: reshard command, fixed slots
parsing bug and other minor bugs.
2018-04-23 16:28:48 +02:00
artix
78817f01b6 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
d25f04d62d - Fixed bug in clusterManagerGetAntiAffinityScore
- Code improvements
2018-04-23 16:28:48 +02:00
artix
513fd614d3 Cluster Manager: colorized output 2018-04-23 16:28:48 +02:00
artix
fec06d1afc Cluster Manager: improved cleanup/error handling in various functions 2018-04-23 16:28:48 +02:00
artix
581823f068 Cluster Manager: 'call' command. 2018-04-23 16:28:48 +02:00
artix
29b0af5a26 Cluster Manager: CLUSTER_MANAGER_NODE_CONNECT macro 2018-04-23 16:28:48 +02:00
artix
a936b967fd ClusterManager: added replicas count to clusterManagerNode 2018-04-23 16:28:48 +02:00
artix
29e4586d40 Cluster Manager: cluster is considered consistent if only one node has been found 2018-04-23 16:28:48 +02:00
artix
9b561af4e1 Cluster Manager: reply error catch for MEET command 2018-04-23 16:28:48 +02:00