[SCM] CTDB repository - branch 1.0.69 updated - ctdb-1.0.69-10-gfb58251

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


The branch, 1.0.69 has been updated
       via  fb582515c674b76e06aed28d04f24ae3a849cfe2 (commit)
       via  b5ef99f14fb02deb128b4b0956508fc980886407 (commit)
      from  ac5557659e667da5f3a33cc612e06a21396fce2d (commit)

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


- Log -----------------------------------------------------------------
commit fb582515c674b76e06aed28d04f24ae3a849cfe2
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 b5ef99f14fb02deb128b4b0956508fc980886407
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 c40ffbd..df194bc 100644
--- a/include/ctdb_private.h
+++ b/include/ctdb_private.h
@@ -117,6 +117,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 8bed9e6..153f698 100644
--- a/server/ctdb_recover.c
+++ b/server/ctdb_recover.c
@@ -565,7 +565,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;
 
@@ -596,7 +596,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 365865e..fe6a4b4 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