[SCM] CTDB repository - branch 1.0.82 updated - ctdb-1.0.82-54-g0bbe9df
Ronnie Sahlberg
sahlberg at samba.org
Tue Oct 13 15:27:33 MDT 2009
The branch, 1.0.82 has been updated
via 0bbe9df9ec0805d29dc8e207d1113caa03d8e698 (commit)
via b74ba9a75db431a59b0e68a4b57c48d8c28221d5 (commit)
from b09f54e0ad5ad3a9a495ab25e56a84422b8679b5 (commit)
http://gitweb.samba.org/?p=sahlberg/ctdb.git;a=shortlog;h=1.0.82
- Log -----------------------------------------------------------------
commit 0bbe9df9ec0805d29dc8e207d1113caa03d8e698
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Oct 14 08:25:44 2009 +1100
New version 1.0.82-3
commit b74ba9a75db431a59b0e68a4b57c48d8c28221d5
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Wed Oct 14 08:23:49 2009 +1100
From Wolfgang Mueller,
when we detect a dmaster migration error, create a recovery to replair the databases instead of calling ctdb_fatal()
-----------------------------------------------------------------------
Summary of changes:
packaging/RPM/ctdb.spec | 4 +++-
server/ctdb_call.c | 8 +++++++-
2 files changed, 10 insertions(+), 2 deletions(-)
Changeset truncated at 500 lines:
diff --git a/packaging/RPM/ctdb.spec b/packaging/RPM/ctdb.spec
index dc4e023..4af01db 100644
--- a/packaging/RPM/ctdb.spec
+++ b/packaging/RPM/ctdb.spec
@@ -5,7 +5,7 @@ Vendor: Samba Team
Packager: Samba Team <samba at samba.org>
Name: ctdb
Version: 1.0.82
-Release: 12
+Release: 13
Epoch: 0
License: GNU GPL version 3
Group: System Environment/Daemons
@@ -133,6 +133,8 @@ fi
%{_libdir}/pkgconfig/ctdb.pc
%changelog
+* Wed Oct 14 2009 : Version 1.0.82-13
+ - Recover the database instead of shutting down when there is a dmaster error detected - from Wolfgang Mueller.
* Tue Oct 13 2009 : Version 1.0.82-12
- Revert the lock order patch and apply a simpler workaround from Volker instead.
* Thu Oct 10 2009 : Version 1.0.82-10
diff --git a/server/ctdb_call.c b/server/ctdb_call.c
index b666a9e..c2591a7 100644
--- a/server/ctdb_call.c
+++ b/server/ctdb_call.c
@@ -343,7 +343,13 @@ 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");
+ /*
+ * we used to exit here with a ctdb_fatal(ctdb, "ctdb_req_dmaster from non-master");
+ * as long as we haven't found a protocol problem we just initiate recovery
+ */
+ DEBUG(DEBUG_ALERT,(__location__"real-dmaster problem triggering recovery\n"));
+ ctdb->recovery_mode = CTDB_RECOVERY_ACTIVE;
+ ctdb_ltdb_unlock(ctdb_db, key);
return;
}
}
--
CTDB repository
More information about the samba-cvs
mailing list