mirror of
https://codeberg.org/redict/redict.git
synced 2025-01-23 08:38:27 -05:00
Cluster: FAIL messages from unknown senders are handled better.
Previously the event was not logged but instead the node reported an unknown packet type received.
This commit is contained in:
parent
7970ebd80a
commit
abe81781ae
@ -1154,20 +1154,26 @@ int clusterProcessPacket(clusterLink *link) {
|
||||
/* Update the cluster state if needed */
|
||||
if (update_state) clusterUpdateState();
|
||||
if (update_config) clusterSaveConfigOrDie();
|
||||
} else if (type == CLUSTERMSG_TYPE_FAIL && sender) {
|
||||
} else if (type == CLUSTERMSG_TYPE_FAIL) {
|
||||
clusterNode *failing;
|
||||
|
||||
failing = clusterLookupNode(hdr->data.fail.about.nodename);
|
||||
if (failing && !(failing->flags & (REDIS_NODE_FAIL|REDIS_NODE_MYSELF)))
|
||||
{
|
||||
if (sender) {
|
||||
failing = clusterLookupNode(hdr->data.fail.about.nodename);
|
||||
if (failing && !(failing->flags & (REDIS_NODE_FAIL|REDIS_NODE_MYSELF)))
|
||||
{
|
||||
redisLog(REDIS_NOTICE,
|
||||
"FAIL message received from %.40s about %.40s",
|
||||
hdr->sender, hdr->data.fail.about.nodename);
|
||||
failing->flags |= REDIS_NODE_FAIL;
|
||||
failing->fail_time = time(NULL);
|
||||
failing->flags &= ~REDIS_NODE_PFAIL;
|
||||
clusterUpdateState();
|
||||
clusterSaveConfigOrDie();
|
||||
}
|
||||
} else {
|
||||
redisLog(REDIS_NOTICE,
|
||||
"FAIL message received from %.40s about %.40s",
|
||||
"Ignoring FAIL message from unknonw node %.40s about %.40s",
|
||||
hdr->sender, hdr->data.fail.about.nodename);
|
||||
failing->flags |= REDIS_NODE_FAIL;
|
||||
failing->fail_time = time(NULL);
|
||||
failing->flags &= ~REDIS_NODE_PFAIL;
|
||||
clusterUpdateState();
|
||||
clusterSaveConfigOrDie();
|
||||
}
|
||||
} else if (type == CLUSTERMSG_TYPE_PUBLISH) {
|
||||
robj *channel, *message;
|
||||
|
Loading…
Reference in New Issue
Block a user