public inbox for cluster-cvs@sourceware.org
help / color / mirror / Atom feed
From: Christine Caulfield <chrissie@fedoraproject.org>
To: cluster-cvs-relay@redhat.com
Subject: master - cman: Allow a recently left node to join cleanly.
Date: Thu, 28 Aug 2008 14:18:00 -0000	[thread overview]
Message-ID: <20080828141511.1A9D5120379@lists.fedorahosted.org> (raw)

Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=9c5b75565b831bb9a382e3c320a3461aa8130b15
Commit:        9c5b75565b831bb9a382e3c320a3461aa8130b15
Parent:        e80d71336fac784e0412a49c0d15fda90111b876
Author:        Christine Caulfield <ccaulfie@redhat.com>
AuthorDate:    Thu Aug 28 15:12:15 2008 +0100
Committer:     Christine Caulfield <ccaulfie@redhat.com>
CommitterDate: Thu Aug 28 15:12:15 2008 +0100

cman: Allow a recently left node to join cleanly.

If a node leaves cleanly and then joins within the corosync totem timeout
then odd things can happen and the nodeslist can get inconsistent.

With the rest of the cluster stack on top this is probably quite hard to
do I suspect.

Signed-off-by: Christine Caulfield <ccaulfie@redhat.com>
---
 cman/daemon/commands.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/cman/daemon/commands.c b/cman/daemon/commands.c
index 1172f5d..3497369 100644
--- a/cman/daemon/commands.c
+++ b/cman/daemon/commands.c
@@ -2069,7 +2069,7 @@ void add_ais_node(int nodeid, uint64_t incarnation, int total_members)
 		node = add_new_node(tempname, nodeid, 1, total_members, NODESTATE_DEAD);
 	}
 
-	if (node->state == NODESTATE_DEAD) {
+	if (node->state == NODESTATE_DEAD || node->state == NODESTATE_LEAVING) {
 		gettimeofday(&node->join_time, NULL);
 		node->incarnation = incarnation;
 		node->state = NODESTATE_MEMBER;


                 reply	other threads:[~2008-08-28 14:16 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080828141511.1A9D5120379@lists.fedorahosted.org \
    --to=chrissie@fedoraproject.org \
    --cc=cluster-cvs-relay@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).