[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[Cluster-devel] Cluster Project branch, RHEL5, updated. cmirror_1_1_15-68-ge4705a1

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Cluster Project".


The branch, RHEL5 has been updated
       via  e4705a1ebd1977ca334fd5d27242abb4046bde42 (commit)
      from  c4f4cf4c01ff9d91d3d9406e32bf3d2a69f20848 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit e4705a1ebd1977ca334fd5d27242abb4046bde42
Author: Jonathan Brassow <jbrassow redhat com>
Date:   Thu May 8 23:19:44 2008 -0500

    clogd: compensate for possible bug in OpenAIS - address bz432109
    clogd was trying to send messages on the CPG interface after it
    had done a cpg_leave.  This was causing cpg_mcast_join errors.
    Turns out that it is also /receiving/ CPG messages after a
    cpg_leave (which it was trying to process)...  I don't think
    CPG is suppose to do this.  In any case, it is now handled.


Summary of changes:
 cmirror/src/cluster.c |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/cmirror/src/cluster.c b/cmirror/src/cluster.c
index 4dc454c..afc31c1 100644
--- a/cmirror/src/cluster.c
+++ b/cmirror/src/cluster.c
@@ -735,7 +735,16 @@ static void cpg_message_callback(cpg_handle_t handle, struct cpg_name *gname,
 	if (match->lowest_id == 0xDEAD) {
 		LOG_ERROR("[%s]  Message from %u before init* [%s/%llu]",
 			  SHORT_UUID(tfr->uuid), nodeid,
-			  RQ_TYPE(tfr->request_type), (unsigned long long) tfr->seq);
+			  RQ_TYPE(tfr->request_type), (unsigned long long)tfr->seq);
+		return;
+	}
+	if (match->cpg_state != VALID) {
+		LOG_ERROR("[%s]  Message received after cpg_leave "
+			  "from %u: [%s/%llu] - ignoring",
+			  SHORT_UUID(tfr->uuid), nodeid,
+			  RQ_TYPE(tfr->request_type & ~DM_CLOG_RESPONSE),
+			  (unsigned long long)tfr->seq);
@@ -1049,10 +1058,10 @@ static void cpg_leave_callback(struct clog_cpg *match,
 			if (!strcmp(match->name.value, tfr->uuid) &&
 			    (tfr->request_type != DM_CLOG_POSTSUSPEND)){
-				LOG_ERROR("[%s] Resending %s from %u due to new server",
+				LOG_PRINT("[%s] Resending %s due to new server(%u)",
-					  tfr->originator);
+					  match->lowest_id);
 				if (cluster_send(tfr))
 					LOG_ERROR("Failed resend");

Cluster Project

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]