Open tasszz2k opened 3 months ago
Could you please provide the specific version of your RedisShake? Does it include the fix mentioned in this issue: https://github.com/tair-opensource/RedisShake/issues/656 ( 513fc62a )?
the current version we are using is https://github.com/tair-opensource/RedisShake/commit/2937df8a3ad839efd129882a8c1f986fd0bc1eab
Try the latest version, or modify the code to filter out__sentinel__:hello
, just like what 513fc62a did.
Try the latest version, or modify the code to filter out
__sentinel__:hello
, just like what 513fc62a did.
let me try it. thx
thank you @suxb201
it saves the day
however, If we ignore the condition like this cmd_name == "PUBLISH" and keys[1] == "__sentinel__:hello"
only, it will not work. After that, I update the logic to ignore this one cmd_name == "PUBLISH" and (keys[1]== nil or keys[1] == '' or keys[1] == "__sentinel__:hello")
, it works normally.
the final filter.lua
is:
function filter(id, is_base, group, cmd_name, keys, slots, db_id, timestamp_ms)
if cmd_name == "PING" then
return 1, db_id -- disallow
end
if cmd_name == "REPLCONF" then
return 1, db_id -- disallow
end
if cmd_name == "OPINFO" then
return 1, db_id -- disallow
end
if cmd_name == "PUBLISH" and (keys[1]== nil or keys[1] == '' or keys[1] == "__sentinel__:hello") then
return 1, db_id -- disallow
end
return 0, db_id -- always allow and redirect to the same db_id
end
Issue Description
split brain
issue which means thesentinel slaves
of the destination cluster contain the nodes of both the source cluster and the destination cluster. (see the screenshot below)Environment
Logs
If there are any error logs or other relevant logs, please provide them here.
Additional Information
Redis Source Cluster (1 master, 1 slave and 3 sentinel servers)
Redis Destination Cluster (1 master, 0 slaves and 3 sentinel servers)