[SCM] CTDB repository - branch 1.2 updated - ctdb-1.9.1-313-g5ef6a40

Ronnie Sahlberg sahlberg at samba.org
Tue Feb 22 22:23:38 MST 2011


The branch, 1.2 has been updated
       via  5ef6a403bf99f9b805b9a996bd64d406b0cf893f (commit)
       via  66d9a4e6c384b5e1094179b627cb16b156dfbc8a (commit)
      from  2ecc2f2567c578188c259f097b535be8a42be43c (commit)

http://gitweb.samba.org/?p=sahlberg/ctdb.git;a=shortlog;h=1.2


- Log -----------------------------------------------------------------
commit 5ef6a403bf99f9b805b9a996bd64d406b0cf893f
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date:   Mon Feb 21 15:55:16 2011 +1100

    New version 1.2.21

commit 66d9a4e6c384b5e1094179b627cb16b156dfbc8a
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date:   Fri Feb 18 11:21:19 2011 +1100

    ctdb_req_dmaster from non-master
    
    If we find a situatior where we get a stray packet with the wrong
    dmaster, dont suicide with ctdb_fatal() since this is too disruptive.
    Just drop the stray packet and force a recovery to make sure all is good again.
    
    CQ S1022004

-----------------------------------------------------------------------

Summary of changes:
 packaging/RPM/ctdb.spec.in |    4 +++-
 server/ctdb_call.c         |    4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/packaging/RPM/ctdb.spec.in b/packaging/RPM/ctdb.spec.in
index 67003e2..f7a0871 100644
--- a/packaging/RPM/ctdb.spec.in
+++ b/packaging/RPM/ctdb.spec.in
@@ -3,7 +3,7 @@ Name: ctdb
 Summary: Clustered TDB
 Vendor: Samba Team
 Packager: Samba Team <samba at samba.org>
-Version: 1.2.20
+Version: 1.2.21
 Release: 1GITHASH
 Epoch: 0
 License: GNU GPL version 3
@@ -143,6 +143,8 @@ development libraries for ctdb
 %{_libdir}/libctdb.a
 
 %changelog
+* Mon Feb 21 2011 : Version 1.2.21
+ - fix for CQ 1022004
 * Tue Feb 8 2011 : Version 1.2.20
  - Make addip command more robust for "slow" systems.
 * Mon Jan 31 2011 : Version 1.2.19
diff --git a/server/ctdb_call.c b/server/ctdb_call.c
index d6c0866..be6e8f9 100644
--- a/server/ctdb_call.c
+++ b/server/ctdb_call.c
@@ -369,7 +369,9 @@ void ctdb_request_dmaster(struct ctdb_context *ctdb, struct ctdb_req_header *hdr
 			 (unsigned long long)c->rsn, (unsigned long long)header.rsn, c->hdr.reqid,
 			 (key.dsize >= 4)?(*(uint32_t *)key.dptr):0));
 		if (header.rsn != 0 || header.dmaster != ctdb->pnn) {
-			ctdb_fatal(ctdb, "ctdb_req_dmaster from non-master");
+			DEBUG(DEBUG_ERR,("ctdb_req_dmaster from non-master. Force a recovery.\n"));
+
+			ctdb->recovery_mode = CTDB_RECOVERY_ACTIVE;
 			return;
 		}
 	}


-- 
CTDB repository


More information about the samba-cvs mailing list