浏览代码

totem: Log a message if JOIN or LEAVE message is ignored

As per recent email thread, this patch adds a log message if a JOIN or
LEAVE message is discarded while corosync is flushing the receive queue.

While ignoring a JOIN message is harmless (it will be resent), ignoring
a LEAVE message can cause a longer state transition as it is treated as
a node crashing rather than leaving gracefully, so the system admin
might be confused as to the cause.

Unfortunately, we can't (at the totemudp level) distinguish between JOIN
or LEAVE messages without a lot more protocol-specific code creeping in
the lower layer so the message is left ambiguous.

Signed-off-by: Christine Caulfield <ccaulfie@redhat.com>
(cherry picked from commit 53f67a2a7914228f1a406aad61ea6768525e11b0)
Christine Caulfield 11 年之前
父节点
当前提交
d3c51cd6e4
共有 1 个文件被更改,包括 1 次插入0 次删除
  1. 1 0
      exec/totemudp.c

+ 1 - 0
exec/totemudp.c

@@ -1286,6 +1286,7 @@ static int net_deliver_fn (
 	 */
 	message_type = (char *)msg_offset;
 	if (instance->flushing == 1 && *message_type == MESSAGE_TYPE_MEMB_JOIN) {
+		log_printf(instance->totemudp_log_level_warning, "JOIN or LEAVE message was thrown away during flush operation.");
 		iovec->iov_len = FRAME_SIZE_MAX;
 		return (0);
 	}