[SCM] CTDB repository - branch 1.0.64 updated - ctdb-1.0.64-5-g5283f49

Ronnie Sahlberg sahlberg at samba.org
Wed Dec 17 02:36:07 GMT 2008


The branch, 1.0.64 has been updated
       via  5283f49ece2c42ca8a952989fcff6b9e1bcebcf5 (commit)
      from  bd6871bb020841a806bd3af7c45707cef295ab13 (commit)

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


- Log -----------------------------------------------------------------
commit 5283f49ece2c42ca8a952989fcff6b9e1bcebcf5
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date:   Wed Dec 17 12:01:40 2008 +1100

    dont call ctdb_fatal() just because we are asked to restart a connection
    to a remote node and ctdb->methods is NULL.
    
    This can happen when we are in the middle of a normal shutdown of the
    daemon and we have already shut down the transport layer (thus setting
    ctdb->methods == NULL in the transport layer destructor)
    band there is some unprocessed data related to a remote node.
    
    This prevents an ugly race condition where ctdb might sometimes (rare)
    cause a core dump during "ctdb shutdown".

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

Summary of changes:
 server/ctdb_server.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/server/ctdb_server.c b/server/ctdb_server.c
index b41101d..d9a3234 100644
--- a/server/ctdb_server.c
+++ b/server/ctdb_server.c
@@ -359,8 +359,8 @@ void ctdb_node_dead(struct ctdb_node *node)
 	ctdb_daemon_cancel_controls(node->ctdb, node);
 
 	if (node->ctdb->methods == NULL) {
-		DEBUG(DEBUG_ALERT,(__location__ " Can not restart transport. ctdb->methods==NULL\n"));
-		ctdb_fatal(node->ctdb, "can not restart transport.");
+		DEBUG(DEBUG_ERR,(__location__ " Can not restart transport while shutting down daemon.\n"));
+		return;
 	}
 
 	node->ctdb->methods->restart(node);


-- 
CTDB repository


More information about the samba-cvs mailing list