[SCM] CTDB repository - branch master updated - ctdb-1.0.79-9-g70f2142

Ronnie Sahlberg sahlberg at samba.org
Fri Apr 24 08:27:51 GMT 2009


The branch, master has been updated
       via  70f21428c9eec96bcc787be191e7478ad68956dc (commit)
       via  7af060ded5113a49832f6a08a942523a202586b3 (commit)
      from  1860a365e6ba8212e15c33016c80a2adcf8d10f4 (commit)

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


- Log -----------------------------------------------------------------
commit 70f21428c9eec96bcc787be191e7478ad68956dc
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date:   Fri Apr 24 18:23:48 2009 +1000

    add a tuneable RecoveryDropAllIPs  so it is possible to control after how long a node that has been stuck in recovery will wait until it will yield all public addresses.
    
    this now defaults to 60 seconds
    
    This is useful if a split brain occurs due to network partitioning since it will make sure that the "other half" of the cluster that does not contain the recovery master will eventually release all ips and thus avoiding a duplicate ip situation for the public addresses

commit 7af060ded5113a49832f6a08a942523a202586b3
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date:   Fri Apr 24 18:09:51 2009 +1000

    increase the loglevel for the message we print when we automatically release all ips when we have been in recovery for too long

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

Summary of changes:
 include/ctdb_private.h |    1 +
 server/ctdb_recover.c  |    4 ++--
 server/ctdb_tunables.c |    1 +
 3 files changed, 4 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/include/ctdb_private.h b/include/ctdb_private.h
index 88e686b..2231d33 100644
--- a/include/ctdb_private.h
+++ b/include/ctdb_private.h
@@ -105,6 +105,7 @@ struct ctdb_tunable {
 	uint32_t recd_ping_timeout;
 	uint32_t recd_ping_failcount;
 	uint32_t log_latency_ms;
+	uint32_t recovery_drop_all_ips;
 };
 
 /*
diff --git a/server/ctdb_recover.c b/server/ctdb_recover.c
index 12b95de..f9112a3 100644
--- a/server/ctdb_recover.c
+++ b/server/ctdb_recover.c
@@ -569,7 +569,7 @@ ctdb_drop_all_ips_event(struct event_context *ev, struct timed_event *te,
 {
 	struct ctdb_context *ctdb = talloc_get_type(private_data, struct ctdb_context);
 
-	DEBUG(DEBUG_INFO,(__location__ " Been in recovery mode for too long. Dropping all IPS\n"));
+	DEBUG(DEBUG_ERR,(__location__ " Been in recovery mode for too long. Dropping all IPS\n"));
 	talloc_free(ctdb->release_ips_ctx);
 	ctdb->release_ips_ctx = NULL;
 
@@ -600,7 +600,7 @@ int32_t ctdb_control_set_recmode(struct ctdb_context *ctdb,
 		ctdb->release_ips_ctx = talloc_new(ctdb);
 		CTDB_NO_MEMORY(ctdb, ctdb->release_ips_ctx);
 
-		event_add_timed(ctdb->ev, ctdb->release_ips_ctx, timeval_current_ofs(5,0), ctdb_drop_all_ips_event, ctdb);
+		event_add_timed(ctdb->ev, ctdb->release_ips_ctx, timeval_current_ofs(ctdb->tunable.recovery_drop_all_ips, 0), ctdb_drop_all_ips_event, ctdb);
 	}
 
 
diff --git a/server/ctdb_tunables.c b/server/ctdb_tunables.c
index 330ab19..7fa5e80 100644
--- a/server/ctdb_tunables.c
+++ b/server/ctdb_tunables.c
@@ -53,6 +53,7 @@ static const struct {
 	{ "RecdPingTimeout",	 20,  offsetof(struct ctdb_tunable, recd_ping_timeout) },
 	{ "RecdFailCount",	  3,  offsetof(struct ctdb_tunable, recd_ping_failcount) },
 	{ "LogLatencyMs",         0,  offsetof(struct ctdb_tunable, log_latency_ms) },
+	{ "RecoveryDropAllIPs",  60,  offsetof(struct ctdb_tunable, recovery_drop_all_ips) },
 };
 
 /*


-- 
CTDB repository


More information about the samba-cvs mailing list