Hi all,
one of the building blocks of the manual failover I'm implementing in
Redis Cluster (there are times where you want to upgrade a given
master manually, and killing it to trigger a normal failover is not
cool, so there is a safer procedure for manual failover), is the
ability to pause clients of a given master for some time, while still
serving the slaves as usually.
Now instead of just providing an API for Redis Cluster to use, I
exposed it as a new sub-command of the CLIENT command, that is, CLIENT
PAUSE <milliseconds>.
The command exact semantics is documented here:
https://github.com/antirez/redis/commit/4919a13f503ab4ac5ad5611987996c4432c8de08
I believe there is some value into back porting this to 2.8, since it
allows a safer master upgrade procedure. You can CLIENT PAUSE a master
for a few seconds, stop it after the slave processed the latest
commands in the stream (a matter of milliseconds usually), and change
the clients configuration in a race-free way.
I wonder if there interest in this command in general and in having it
to 2.8 specifically. Thanks!
Salvatore
--
Salvatore 'antirez' Sanfilippo
open source developer - GoPivotal
http://invece.org
To "attack a straw man" is to create the illusion of having refuted a
proposition by replacing it with a superficially similar yet
unequivalent proposition (the "straw man"), and to refute it
-- Wikipedia (Straw man page)