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 <ronniesahlb...@gmail.com> Date: Mon Feb 21 15:55:16 2011 +1100 New version 1.2.21 commit 66d9a4e6c384b5e1094179b627cb16b156dfbc8a Author: Ronnie Sahlberg <ronniesahlb...@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 <sa...@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