]> git.saurik.com Git - redis.git/commit
Sentinel: send SCRIPT KILL on -BUSY reply and SDOWN instance.
authorantirez <antirez@gmail.com>
Fri, 24 Aug 2012 10:29:54 +0000 (12:29 +0200)
committerantirez <antirez@gmail.com>
Thu, 27 Sep 2012 11:05:41 +0000 (13:05 +0200)
commitfa23fc3363cd4dacce3044fac2226d31702fe26e
treec847f5fc6084a3fac2a073fb9dfaf8d290acd1b9
parentfc0a0d4aa7019f725de3f424fe3558b30d7f27d3
Sentinel: send SCRIPT KILL on -BUSY reply and SDOWN instance.

From the point of view of Redis an instance replying -BUSY is down,
since it is effectively not able to reply to user requests. However
a looping script is a recoverable condition in Redis if the script still
did not performed any write to the dataset. In that case performing a
fail over is not optimal, so Sentinel now tries to restore the normal server
condition killing the script with a SCRIPT KILL command.

If the script already performed some write before entering an infinite
(or long enough to timeout) loop, SCRIPT KILL will not work and the
fail over will be triggered anyway.
src/sentinel.c