diff options
author | antirez <antirez@gmail.com> | 2016-01-08 15:05:14 +0100 |
---|---|---|
committer | antirez <antirez@gmail.com> | 2016-04-04 08:50:58 +0200 |
commit | 67b70a18130bb22663494689b19db5b47cfed4fd (patch) | |
tree | 03ab95bc7f097dc2db65adf679d6b2969117a156 /src/redis-trib.rb | |
parent | 28c291c55c35b8acaedffbb7eb98b3fc175e1237 (diff) | |
download | redis-67b70a18130bb22663494689b19db5b47cfed4fd.tar.gz |
Fix ae.c to avoid timers infinite loop.
This fix was suggested by Anthony LaTorre, that provided also a good
test case that was used to verify the fix.
The problem with the old implementation is that, the time returned by
a timer event (that is the time after it want to run again) is added
to the event *start time*. So if the event takes, in order to run, more
than the time it says it want to be scheduled again for running, an
infinite loop is triggered.
Diffstat (limited to 'src/redis-trib.rb')
-rwxr-xr-x | src/redis-trib.rb | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/redis-trib.rb b/src/redis-trib.rb index a38a01eaf..8bb4abd53 100755 --- a/src/redis-trib.rb +++ b/src/redis-trib.rb @@ -941,7 +941,7 @@ class RedisTrib source.r.client.call(["migrate",target.info[:host],target.info[:port],"",0,@timeout,:replace,:keys,*keys]) else puts "" - xputs "[ERR] #{e}" + xputs "[ERR] Calling MIGRATE: #{e}" exit 1 end end |