List:Commits« Previous MessageNext Message »
From:Jonathan Miller Date:November 26 2007 7:23pm
Subject:bk commit into 5.1 tree (jmiller:1.2582)
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of root. When root does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2007-11-26 13:23:13-06:00, jmiller@stripped +2 -0
  main.cpp, setup.cpp:
    Fixed code formatting and added additional info, debug and error messages

  storage/ndb/test/run-test/main.cpp@stripped, 2007-11-26 13:22:54-06:00, jmiller@stripped +189 -214
    Fixed code formatting and added additional info, debug and error messages

  storage/ndb/test/run-test/setup.cpp@stripped, 2007-11-26 13:23:03-06:00, jmiller@stripped +290 -415
    Fixed code formatting and added additional info, debug and error messages

diff -Nrup a/storage/ndb/test/run-test/main.cpp b/storage/ndb/test/run-test/main.cpp
--- a/storage/ndb/test/run-test/main.cpp	2007-08-01 02:23:55 -05:00
+++ b/storage/ndb/test/run-test/main.cpp	2007-11-26 13:22:54 -06:00
@@ -140,8 +140,7 @@ const int p_servers = atrt_process::AP_M
 const int p_clients = atrt_process::AP_CLIENT | atrt_process::AP_NDB_API;
 
 int
-main(int argc, char ** argv)
-{
+main(int argc, char ** argv){
   ndb_init();
   
   bool restart = true;
@@ -159,9 +158,11 @@ main(int argc, char ** argv)
   g_logger.info("Starting...");
   g_config.m_generated = false;
   g_config.m_replication = g_replicate;
+  g_logger.info("Running Setup Configuration");
   if (!setup_config(g_config))
     goto end;
 
+  g_logger.info("Running configure");
   if (!configure(g_config, g_do_setup))
     goto end;
   
@@ -169,37 +170,35 @@ main(int argc, char ** argv)
   if (!setup_directories(g_config, g_do_setup))
     goto end;
 
-  if (g_do_setup)
-  {
+  if (g_do_setup){
     g_logger.info("Setting up files");
     if (!setup_files(g_config, g_do_setup, g_do_sshx))
       goto end;
   }
   
-  if (g_do_deploy)
-  {
+  if (g_do_deploy){
+  	g_logger.info("Running deploy");
     if (!deploy(g_config))
       goto end;
   }
 
-  if (g_do_quit)
-  {
+  if (g_do_quit){
     return_code = 0;
     goto end;
   }
 
-  if(!setup_hosts(g_config))
+  if(!setup_hosts(g_config)){
+   	g_logger.info("Setting up hosts"); 
     goto end;
+  }
 
-  if (g_do_sshx)
-  {
+  if (g_do_sshx){
     g_logger.info("Starting xterm-ssh");
     if (!sshx(g_config, g_do_sshx))
       goto end;
 
     g_logger.info("Done...sleeping");
-    while(true)
-    {
+    while(true){
       NdbSleep_SecSleep(1);
     }
     return_code = 0;
@@ -210,15 +209,13 @@ main(int argc, char ** argv)
   if(!connect_hosts(g_config))
     goto end;
 
-  if (g_do_start && !g_test_case_filename)
-  {
+  if (g_do_start && !g_test_case_filename){
     g_logger.info("Starting server processes: %x", g_do_start);    
     if (!start(g_config, g_do_start))
       goto end;
     
     g_logger.info("Done...sleeping");
-    while(true)
-    {
+    while(true){
       NdbSleep_SecSleep(1);
     }
     return_code = 0;
@@ -237,35 +234,42 @@ main(int argc, char ** argv)
     if(restart){
       g_logger.info("(Re)starting server processes processes");
       if(!stop_processes(g_config, ~0))
-	goto end;
+	    goto end;
 
+      g_logger.info("Setting up Directories");
       if (!setup_directories(g_config, 2))
-	goto end;
-      
+	    goto end;
+
+      g_logger.info("Setting up Files");      
       if (!setup_files(g_config, 2, 1))
-	goto end;
+        goto end;
       
+      g_logger.info("Setting up Hosts");
       if(!setup_hosts(g_config))
         goto end;
-      
+
+      g_logger.info("Starting Servers");      
       if (!start(g_config, p_ndb | p_servers))
-	goto end;
+	    goto end;
       g_logger.info("All servers start completed");
     }
     
     // const int start_line = lineno;
     atrt_testcase test_case;
+    g_logger.info("Reading Test Case");
     if(!read_test_case(g_test_case_file, test_case, lineno))
       goto end;
     
-    g_logger.info("#%d - %s %s", 
-		  test_no,
-		  test_case.m_command.c_str(), test_case.m_args.c_str());
+    g_logger.info("#%d - %s %s",test_no,
+		           test_case.m_command.c_str(), 
+		           test_case.m_args.c_str());
     
     // Assign processes to programs
+    g_logger.info("Setting up Test Case");
     if(!setup_test_case(g_config, test_case))
       goto end;
     
+    g_logger.info("Starting client process(es)");
     if(!start_processes(g_config, p_clients))
       goto end;
 
@@ -274,29 +278,32 @@ main(int argc, char ** argv)
     const time_t start = time(0);
     time_t now = start;
     do {
-      if(!update_status(g_config, atrt_process::AP_ALL))
-	goto end;
-
+      if(!update_status(g_config, atrt_process::AP_ALL)){
+        g_logger.error("Update status failed");
+	    goto end;
+      }
       int count = 0;
-
       if((count = is_running(g_config, p_ndb)) != 2){
-	result = ERR_NDB_FAILED;
-	break;
+        result = ERR_NDB_FAILED;
+        g_logger.debug("setting result = ERR_NDB_FAILED");
+	    break;
       }
 
       if((count = is_running(g_config, p_servers)) != 2){
-	result = ERR_SERVERS_FAILED;
-	break;
+	    result = ERR_SERVERS_FAILED;
+	    g_logger.debug("setting result = ERR_SERVERS_FAILED");
+	    break;
       }
 
       if((count = is_running(g_config, p_clients)) == 0){
-	break;
+	     break;
       }
       
       now = time(0);
       if(now  > (start + test_case.m_max_time)){
-	result = ERR_MAX_TIME_ELAPSED;
-	break;
+	    result = ERR_MAX_TIME_ELAPSED;
+	    g_logger.debug("setting result = ERR_MAX_TIME_ELAPSED");
+	    break;
       }
       NdbSleep_SecSleep(1);
     } while(true);
@@ -322,7 +329,7 @@ main(int argc, char ** argv)
 
     if(g_mode == 0 && result){
       g_logger.info
-	("Encountered failed test in interactive mode - terminating");
+	   ("Encountered failed test in interactive mode - terminating");
       break;
     }
 
@@ -330,23 +337,21 @@ main(int argc, char ** argv)
     resdir.assfmt("result.%d", test_no);
     remove_dir(resdir.c_str(), true);
     
-    if(test_case.m_report || g_mode == 2 || (g_mode && result))
-    {
-      if(rename("result", resdir.c_str()) != 0)
-      {
-	g_logger.critical("Failed to rename %s as %s",
-			  "result", resdir.c_str());
-	goto end;
+    if(test_case.m_report || g_mode == 2 || (g_mode && result)){
+      if(rename("result", resdir.c_str()) != 0){
+	    g_logger.critical("Failed to rename %s as %s",
+		                  "result", resdir.c_str());
+	    goto end;
       }
     }
-    else
-    {
+    else{
       remove_dir("result", true);
     }
     
     if(result != 0){
       restart = true;
-    } else {
+    } 
+    else {
       restart = false;
     }
     test_no++;
@@ -369,24 +374,20 @@ main(int argc, char ** argv)
 
 static 
 my_bool 
-get_one_option(int arg, const struct my_option * opt, char * value)
-{
-  if (arg == 1024)
-  {
+get_one_option(int arg, const struct my_option * opt, char * value){
+  if (arg == 1024){
     if (g_replicate.length())
       g_replicate.append(";");
-    g_replicate.append(value);
-    return 1;
+      g_replicate.append(value);
+      return 1;
   }
   return 0;
 }
 
 bool
-parse_args(int argc, char** argv)
-{
+parse_args(int argc, char** argv){
   char buf[2048];
-  if (getcwd(buf, sizeof(buf)) == 0)
-  {
+  if (getcwd(buf, sizeof(buf)) == 0){
     g_logger.error("Unable to get current working directory");
     return false;
   }
@@ -394,19 +395,16 @@ parse_args(int argc, char** argv)
   
   struct stat sbuf;
   BaseString mycnf;
-  if (argc > 1 && lstat(argv[argc-1], &sbuf) == 0)
-  {
+  if (argc > 1 && lstat(argv[argc-1], &sbuf) == 0){
     mycnf.append(g_cwd);
     mycnf.append(PATH_SEPARATOR);
     mycnf.append(argv[argc-1]);
   }
-  else
-  {
+  else{
     mycnf.append(g_cwd);
     mycnf.append(PATH_SEPARATOR);
     mycnf.append("my.cnf");
-    if (lstat(mycnf.c_str(), &sbuf) != 0)
-    {
+    if (lstat(mycnf.c_str(), &sbuf) != 0){
       g_logger.error("Unable to stat %s", mycnf.c_str());
       return false;
     }
@@ -421,62 +419,56 @@ parse_args(int argc, char** argv)
   save_extra_file = my_defaults_extra_file;
   save_group_suffix = my_defaults_group_suffix;
 
-  if (save_extra_file)
-  {
-    g_logger.error("--defaults-extra-file(%s) is not supported...",
-		   save_extra_file);
+  if (save_extra_file){
+    g_logger.error("--defaults-extra-file(%s) is not supported...",save_extra_file);
     return false;
   }
   
-  if (ret || handle_options(&argc, &argv, g_options, get_one_option))
-  {
+  if (ret || handle_options(&argc, &argv, g_options, get_one_option)){
     g_logger.error("Failed to load defaults/handle_options");
     return false;
   }
 
-  if (argc >= 2)
-  {
+  if (argc >= 2){
     const char * arg = argv[argc-2];
-    while(* arg)
-    {
+    while(* arg){
       switch(* arg){
-      case 'c':
-	g_do_setup = (g_do_setup == 0) ? 1 : g_do_setup;
-	break;
-      case 'C':
-	g_do_setup = 2;
-	break;
-      case 'd':
-	g_do_deploy = 1;
-	break;
-      case 'x':
-	g_do_sshx = atrt_process::AP_CLIENT | atrt_process::AP_NDB_API;
-	break;
-      case 'X':
-	g_do_sshx = atrt_process::AP_ALL;
-	break;
-      case 's':
-	g_do_start = p_ndb;
-	break;
-      case 'S':
-	g_do_start = p_ndb | p_servers;
-	break;
-      case 'f':
-	g_fqpn = 1;
-	break;
-      case 'q':
-	g_do_quit = 1;
-	break;
-      default:
-	g_logger.error("Unknown switch '%c'", *arg);
-	return false;
+        case 'c':
+	      g_do_setup = (g_do_setup == 0) ? 1 : g_do_setup;
+	      break;
+        case 'C':
+	      g_do_setup = 2;
+	      break;
+        case 'd':
+	      g_do_deploy = 1;
+	      break;
+        case 'x':
+	      g_do_sshx = atrt_process::AP_CLIENT | atrt_process::AP_NDB_API;
+	      break;
+        case 'X':
+	      g_do_sshx = atrt_process::AP_ALL;
+	      break;
+        case 's':
+	      g_do_start = p_ndb;
+	      break;
+        case 'S':
+	      g_do_start = p_ndb | p_servers;
+	      break;
+        case 'f':
+	      g_fqpn = 1;
+	      break;
+        case 'q':
+	      g_do_quit = 1;
+	      break;
+        default:
+	      g_logger.error("Unknown switch '%c'", *arg);
+	      return false;
       }
       arg++;
     }
   }
 
-  if(g_log_filename != 0)
-  {
+  if(g_log_filename != 0){
     g_logger.removeConsoleHandler();
     g_logger.addHandler(new FileLogHandler(g_log_filename));
   }
@@ -489,14 +481,12 @@ parse_args(int argc, char** argv)
     g_logger.enable((Logger::LoggerLevel)tmp, Logger::LL_ALERT);
   }
   
-  if(!g_basedir)
-  {
+  if(!g_basedir){
     g_basedir = g_cwd;
     g_logger.info("basedir not specified, using %s", g_basedir);
   }
 
-  if (!g_prefix)
-  {
+  if (!g_prefix){
     g_prefix = DEFAULT_PREFIX;
   }
   
@@ -506,31 +496,25 @@ parse_args(int argc, char** argv)
   {
     BaseString tmp;
     const char* env = getenv("PATH");
-    if (env && strlen(env))
-    {
-      tmp.assfmt("PATH=%s:%s/mysql-test/ndb",
-		 env, g_prefix);
+    if (env && strlen(env)){
+      tmp.assfmt("PATH=%s:%s/mysql-test/ndb",env, g_prefix);
     }
-    else
-    {
+    else{
       tmp.assfmt("PATH=%s/mysql-test/ndb", g_prefix);
     }
     g_env_path = strdup(tmp.c_str());
     putenv(g_env_path);
   }
   
-  if (g_help)
-  {
+  if (g_help){
     my_print_help(g_options);
     my_print_variables(g_options);
     return 0;
   }
 
-  if(g_test_case_filename)
-  {
+  if(g_test_case_filename){
     g_test_case_file = fopen(g_test_case_filename, "r");
-    if(g_test_case_file == 0)
-    {
+    if(g_test_case_file == 0){
       g_logger.critical("Unable to open file: %s", g_test_case_filename);
       return false;
     }
@@ -543,27 +527,23 @@ parse_args(int argc, char** argv)
     if (g_mode == 0)
       g_mode = 1;
 
-    if (g_do_sshx)
-    {
+    if (g_do_sshx){
       g_logger.critical("ssx specified...not possible with testfile");
       return false;
     }
   }
   
-  if (g_do_setup == 0)
-  {
+  if (g_do_setup == 0){
     BaseString tmp;
     tmp.append(g_basedir);
     tmp.append(PATH_SEPARATOR);
     tmp.append("my.cnf");
-    if (lstat(tmp.c_str(), &sbuf) != 0)
-    {
+    if (lstat(tmp.c_str(), &sbuf) != 0){
       g_logger.error("Unable to stat %s", tmp.c_str());
       return false;
     }
 
-    if (!S_ISREG(sbuf.st_mode))
-    {
+    if (!S_ISREG(sbuf.st_mode)){
       g_logger.error("%s is not a regular file", tmp.c_str());
       return false;
     }
@@ -571,31 +551,26 @@ parse_args(int argc, char** argv)
     g_my_cnf = strdup(tmp.c_str());
     g_logger.info("Using %s", tmp.c_str());
   }
-  else
-  {
+  else{
     g_my_cnf = strdup(mycnf.c_str());
   }
   
   g_logger.info("Using --prefix=\"%s\"", g_prefix);
   
-  if(g_report_filename)
-  {
+  if(g_report_filename){
     g_report_file = fopen(g_report_filename, "w");
-    if(g_report_file == 0)
-    {
+    if(g_report_file == 0){
       g_logger.critical("Unable to create report file: %s", g_report_filename);
       return false;
     }
   }
   
-  if (g_clusters == 0)
-  {
+  if (g_clusters == 0){
     g_logger.critical("No clusters specified");
     return false;
   }
   
   g_user = strdup(getenv("LOGNAME"));
-  
   return true;
 }
 
@@ -612,7 +587,6 @@ connect_hosts(atrt_config& config){
 		   config.m_hosts[i]->m_cpcd->getHost(),
 		   config.m_hosts[i]->m_cpcd->getPort());
   }
-  
   return true;
 }
 
@@ -627,19 +601,14 @@ connect_ndb_mgm(atrt_process & proc){
   const char * val;
   proc.m_options.m_loaded.get("--PortNumber=", &val);
   tmp.appfmt(":%s", val);
-
-  if (ndb_mgm_set_connectstring(handle,tmp.c_str()))
-  {
+  if (ndb_mgm_set_connectstring(handle,tmp.c_str())){
     g_logger.critical("Unable to create parse connectstring");
     return false;
   }
-
-  if(ndb_mgm_connect(handle, 30, 1, 0) != -1)
-  {
+  if(ndb_mgm_connect(handle, 30, 1, 0) != -1){
     proc.m_ndb_mgm_handle = handle;
     return true;
   }
-
   g_logger.critical("Unable to connect to ndb mgm %s", tmp.c_str());
   return false;
 }
@@ -650,11 +619,11 @@ connect_ndb_mgm(atrt_config& config){
     atrt_process & proc = *config.m_processes[i];
     if((proc.m_type & atrt_process::AP_NDB_MGMD) != 0){
       if(!connect_ndb_mgm(proc)){
-	return false;
+       	g_logger.error("connect_ndb_mgm failed");
+	    return false;
       }
     }
   }
-  
   return true;
 }
 
@@ -670,6 +639,7 @@ wait_ndb(atrt_config& config, int goal){
   goal = remap(goal);
 
   size_t cnt = 0;
+  g_logger.debug("Inside of wait_ndb()");
   for (size_t i = 0; i<config.m_clusters.size(); i++)
   {
     atrt_cluster* cluster = config.m_clusters[i];
@@ -680,8 +650,8 @@ wait_ndb(atrt_config& config, int goal){
     for(size_t j = 0; j<cluster->m_processes.size(); j++){
       atrt_process & proc = *cluster->m_processes[j];
       if((proc.m_type & atrt_process::AP_NDB_MGMD) != 0){
-	handle = proc.m_ndb_mgm_handle;
-	break;
+	    handle = proc.m_ndb_mgm_handle;
+	    break;
       }
     }
 
@@ -697,8 +667,7 @@ wait_ndb(atrt_config& config, int goal){
        * 3) wait STARTED
        */
       if(!wait_ndb(config, NDB_MGM_NODE_STATUS_NOT_STARTED))
-	return false;
-      
+	    return false;
       ndb_mgm_start(handle, 0, 0);
     }
 
@@ -715,50 +684,47 @@ wait_ndb(atrt_config& config, int goal){
        */
       state = 0;
       do {
-	state = ndb_mgm_get_status(handle);
-	if(state == 0){
-	  const int err = ndb_mgm_get_latest_error(handle);
-	  g_logger.error("Unable to poll db state: %d %s %s",
-			 ndb_mgm_get_latest_error(handle),
-			 ndb_mgm_get_latest_error_msg(handle),
-			 ndb_mgm_get_latest_error_desc(handle));
-	  if(err == NDB_MGM_SERVER_NOT_CONNECTED && connect_ndb_mgm(config)){
-	    g_logger.error("Reconnected...");
-	    continue;
-	  }
-	  return false;
-	}
+	    state = ndb_mgm_get_status(handle);
+	    if(state == 0){
+	      const int err = ndb_mgm_get_latest_error(handle);
+	      g_logger.error("Unable to poll db state: %d %s %s",
+                          ndb_mgm_get_latest_error(handle),
+                          ndb_mgm_get_latest_error_msg(handle),
+                          ndb_mgm_get_latest_error_desc(handle));
+	      if(err == NDB_MGM_SERVER_NOT_CONNECTED && connect_ndb_mgm(config)){
+	        g_logger.error("Reconnected...");
+	        continue;
+	      }
+	      return false;
+	    }
       } while(state == 0);
       NdbAutoPtr<void> tmp(state);
       
       min2 = goal;
       for(int j = 0; j<state->no_of_nodes; j++){
-	if(state->node_states[j].node_type == NDB_MGM_NODE_TYPE_NDB){
-	  const int s = remap(state->node_states[j].node_status);
-	  min2 = (min2 < s ? min2 : s );
-	  
-	  if(s < remap(NDB_MGM_NODE_STATUS_NO_CONTACT) || 
-	     s > NDB_MGM_NODE_STATUS_STARTED){
-	    g_logger.critical("Strange DB status during start: %d %d", 
-			      j, min2);
-	    return false;
-	  }
-	  
-	  if(min2 < min){
-	    g_logger.critical("wait ndb failed node: %d %d %d %d", 
-			      state->node_states[j].node_id, min, min2, goal);
-	  }
-	}
+	    if(state->node_states[j].node_type == NDB_MGM_NODE_TYPE_NDB){
+	      const int s = remap(state->node_states[j].node_status);
+	      min2 = (min2 < s ? min2 : s );
+          if(s < remap(NDB_MGM_NODE_STATUS_NO_CONTACT) || 
+             s > NDB_MGM_NODE_STATUS_STARTED){
+	        g_logger.critical("Strange DB status during start: %d %d",j, min2);
+	        return false;
+	      }
+          if(min2 < min){
+	        g_logger.critical("wait ndb failed node: %d %d %d %d",
+	                           state->node_states[j].node_id, min, min2, goal);
+	      }
+	    }
       }
       
       if(min2 < min){
-	g_logger.critical("wait ndb failed %d %d %d", min, min2, goal);
-	return false;
+	    g_logger.critical("wait ndb failed %d %d %d", min, min2, goal);
+	    return false;
       }
       
       if(min2 == goal){
-	cnt++;
-	goto next;
+	    cnt++;
+	    goto next;
       }
       
       min = min2;
@@ -778,7 +744,7 @@ next:
 bool
 start_process(atrt_process & proc){
   if(proc.m_proc.m_id != -1){
-    g_logger.critical("starting already started process: %d", proc.m_index);
+    g_logger.critical("Process already started: %d", proc.m_index);
     return false;
   }
   
@@ -822,7 +788,8 @@ start_processes(atrt_config& config, int
     atrt_process & proc = *config.m_processes[i];
     if((types & proc.m_type) != 0 && proc.m_proc.m_path != ""){
       if(!start_process(proc)){
-	return false;
+      	g_logger.error("Start Process Failed");
+	    return false;
       }
     }
   }
@@ -831,9 +798,8 @@ start_processes(atrt_config& config, int
 
 bool
 stop_process(atrt_process & proc){
-  if(proc.m_proc.m_id == -1){
+  if(proc.m_proc.m_id == -1)
     return true;
-  }
 
   {
     Properties reply;
@@ -841,10 +807,10 @@ stop_process(atrt_process & proc){
       Uint32 status;
       reply.get("status", &status);
       if(status != 4){
-	BaseString msg;
-	reply.get("errormessage", msg);
-	g_logger.error("Unable to stop process: %s(%d)", msg.c_str(), status);
-	return false;
+	    BaseString msg;
+	    reply.get("errormessage", msg);
+	    g_logger.error("Unable to stop process: %s(%d)", msg.c_str(), status);
+	    return false;
       }
     }
   }
@@ -867,7 +833,8 @@ stop_processes(atrt_config& config, int 
     atrt_process & proc = *config.m_processes[i];
     if((types & proc.m_type) != 0){
       if(!stop_process(proc)){
-	return false;
+        g_logger.error("Stop Process Failed");
+	    return false;
       }
     }
   }
@@ -892,23 +859,23 @@ update_status(atrt_config& config, int){
       Vector<SimpleCpcClient::Process> &h_procs= m_procs[proc.m_host->m_index];
       bool found = false;
       for(size_t j = 0; j<h_procs.size(); j++){
-	if(proc.m_proc.m_id == h_procs[j].m_id){
-	  found = true;
-	  proc.m_proc.m_status = h_procs[j].m_status;
-	  break;
-	}
+        if(proc.m_proc.m_id == h_procs[j].m_id){
+          found = true;
+          proc.m_proc.m_status = h_procs[j].m_status;
+          break;
+        }
       }
       if(!found){
-	g_logger.error("update_status: not found");
-	g_logger.error("id: %d host: %s cmd: %s", 
-		       proc.m_proc.m_id,
-		       proc.m_host->m_hostname.c_str(),
-		       proc.m_proc.m_path.c_str());
-	for(size_t j = 0; j<h_procs.size(); j++){
-	  g_logger.error("found: %d %s", h_procs[j].m_id, 
-			 h_procs[j].m_path.c_str());
-	}
-	return false;
+        g_logger.error("update_status: not found");
+        g_logger.error("id: %d host: %s cmd: %s", 
+                        proc.m_proc.m_id,
+                        proc.m_host->m_hostname.c_str(),
+                        proc.m_proc.m_path.c_str());
+        for(size_t j = 0; j<h_procs.size(); j++){
+          g_logger.error("found: %d %s", h_procs[j].m_id, 
+          h_procs[j].m_path.c_str());
+        }
+        return false;
       }
     }
   }
@@ -944,8 +911,10 @@ insert(const char * pair, Properties & p
   Vector<BaseString> split;
   tmp.split(split, ":=", 2);
 
-  if(split.size() != 2)
+  if(split.size() != 2){
+  	g_logger.error("insert split.size != 2");
     return -1;
+  }
 
   p.put(split[0].trim().c_str(), split[1].trim().c_str()); 
 
@@ -958,6 +927,7 @@ read_test_case(FILE * file, atrt_testcas
   Properties p;
   int elements = 0;
   char buf[1024];
+  g_logger.debug("Reading Test Case file %s",g_test_case_filename);
   while(!feof(file)){
     if(!fgets(buf, 1024, file))
       break;
@@ -988,6 +958,7 @@ read_test_case(FILE * file, atrt_testcas
       tc.m_max_time = 60000;
       return true;
     }
+    g_logger.critical("File != stdin and elements = %d", elements);
     return false;
   }
 
@@ -1000,11 +971,15 @@ read_test_case(FILE * file, atrt_testcas
     tc.m_args = "";
 
   const char * mt = 0;
-  if(!p.get("max-time", &mt))
+  if(!p.get("max-time", &mt)){
     tc.m_max_time = 60000;
-  else
+    g_logger.debug("tc.m_max_time set to default = %d",tc.m_max_time);
+  }  
+  else{
     tc.m_max_time = atoi(mt);
-
+    g_logger.debug("tc.m_max_time set to = %d",tc.m_max_time);
+  }
+  
   if(p.get("type", &mt) && strcmp(mt, "bench") == 0)
     tc.m_report= true;
   else
diff -Nrup a/storage/ndb/test/run-test/setup.cpp b/storage/ndb/test/run-test/setup.cpp
--- a/storage/ndb/test/run-test/setup.cpp	2007-02-12 19:38:48 -06:00
+++ b/storage/ndb/test/run-test/setup.cpp	2007-11-26 13:23:03 -06:00
@@ -18,8 +18,7 @@ enum {
   ,PO_REP = (atrt_options::AO_REPLICATION | PO_REP_SLAVE | PO_REP_MASTER)
 };
 
-struct proc_option
-{
+struct proc_option{
   const char * name;
   int type;
   int options;
@@ -46,8 +45,7 @@ struct proc_option f_options[] = {
 const char * ndbcs = "--ndb-connectstring=";
 
 bool
-setup_config(atrt_config& config)
-{
+setup_config(atrt_config& config){
   BaseString tmp(g_clusters);
   Vector<BaseString> clusters;
   tmp.split(clusters, ",");
@@ -55,18 +53,15 @@ setup_config(atrt_config& config)
   bool fqpn = clusters.size() > 1 || g_fqpn;
   
   size_t j,k;
-  for (size_t i = 0; i<clusters.size(); i++)
-  {
+  for (size_t i = 0; i<clusters.size(); i++){
     struct atrt_cluster *cluster = new atrt_cluster;
     config.m_clusters.push_back(cluster);
 
     cluster->m_name = clusters[i];
-    if (fqpn)
-    {
+    if (fqpn){
       cluster->m_dir.assfmt("cluster%s/", cluster->m_name.c_str());
     }
-    else
-    {
+    else{
       cluster->m_dir = "";
     }
     
@@ -79,15 +74,13 @@ setup_config(atrt_config& config)
     char ** tmp = (char**)argv;
     const char *groups[] = { "cluster_config", 0 };
     int ret = load_defaults(g_my_cnf, groups, &argc, &tmp);
-    if (ret)
-    {
+    if (ret){
       g_logger.error("Unable to load defaults for cluster: %s", 
 		     clusters[i].c_str());
       return false;
     }
 
-    struct 
-    {
+    struct{
       atrt_process::Type type;
       const char * name;
       const char * value;
@@ -103,32 +96,27 @@ setup_config(atrt_config& config)
     /**
      * Find all processes...
      */
-    for (j = 0; j<(size_t)argc; j++)
-    {
-      for (k = 0; proc_args[k].name; k++)
-      {
-	if (!strncmp(tmp[j], proc_args[k].name, strlen(proc_args[k].name)))
-	{
-	  proc_args[k].value = tmp[j] + strlen(proc_args[k].name);
-	  break;
-	}
+    for (j = 0; j<(size_t)argc; j++){
+      for (k = 0; proc_args[k].name; k++){
+	    if (!strncmp(tmp[j], proc_args[k].name, strlen(proc_args[k].name))){
+	      proc_args[k].value = tmp[j] + strlen(proc_args[k].name);
+	      break;
+	    }
       }      
     }
 
     /**
      * Load each process
      */
-    for (j = 0; proc_args[j].name; j++)
-    {
-      if (proc_args[j].value)
-      {
-	BaseString tmp(proc_args[j].value);
-	Vector<BaseString> list;
-	tmp.split(list, ",");
-	for (k = 0; k<list.size(); k++)
-	  if (!load_process(config, *cluster, proc_args[j].type, 
-			    k + 1, list[k].c_str()))
-	    return false;
+    for (j = 0; proc_args[j].name; j++){
+      if (proc_args[j].value){
+	    BaseString tmp(proc_args[j].value);
+	    Vector<BaseString> list;
+	    tmp.split(list, ",");
+	    for (k = 0; k<list.size(); k++)
+	      if (!load_process(config, *cluster, proc_args[j].type, 
+			  k + 1, list[k].c_str()))
+	      return false;
       }
     }
 
@@ -142,11 +130,10 @@ setup_config(atrt_config& config)
       const char *groups[] = { "mysql_cluster", 0 };
       ret = load_defaults(g_my_cnf, groups, &argc, &tmp);
       
-      if (ret)
-      {
-	g_logger.error("Unable to load defaults for cluster: %s", 
-		       clusters[i].c_str());
-	return false;
+      if (ret){
+	    g_logger.error("Unable to load defaults for cluster: %s", 
+		                clusters[i].c_str());
+	    return false;
       }
       
       load_options(argc, tmp, atrt_process::AP_CLUSTER, cluster->m_options);
@@ -216,42 +203,41 @@ load_process(atrt_config& config, atrt_c
   char ** tmp = (char**)argv;
   const char *groups[] = { 0, 0, 0, 0 };
   switch(type){
-  case atrt_process::AP_NDB_MGMD:
-    groups[0] = "cluster_config";
-    buf[1].assfmt("cluster_config.ndb_mgmd.%d", idx);
-    groups[1] = buf[1].c_str();
-    buf[0].assfmt("--defaults-group-suffix=%s", cluster.m_name.c_str());
-    argv[argc++] = buf[0].c_str();
-    break;
-  case atrt_process::AP_NDBD: 
-    groups[0] = "cluster_config";
-    buf[1].assfmt("cluster_config.ndbd.%d", idx);
-    groups[1] = buf[1].c_str();
-    buf[0].assfmt("--defaults-group-suffix=%s", cluster.m_name.c_str());
-    argv[argc++] = buf[0].c_str();
-    break;
-  case atrt_process::AP_MYSQLD:
-    groups[0] = "mysqld";
-    groups[1] = "mysql_cluster";
-    buf[0].assfmt("--defaults-group-suffix=.%d%s",idx,cluster.m_name.c_str());
-    argv[argc++] = buf[0].c_str();
-    break;
-  case atrt_process::AP_CLIENT:
-    buf[0].assfmt("client.%d%s", idx, cluster.m_name.c_str());
-    groups[0] = buf[0].c_str();
-    break;
-  case atrt_process::AP_NDB_API:
-    break;
-  default:
-    g_logger.critical("Unhandled process type: %d", type);
-    return false;
+    case atrt_process::AP_NDB_MGMD:
+      groups[0] = "cluster_config";
+      buf[1].assfmt("cluster_config.ndb_mgmd.%d", idx);
+      groups[1] = buf[1].c_str();
+      buf[0].assfmt("--defaults-group-suffix=%s", cluster.m_name.c_str());
+      argv[argc++] = buf[0].c_str();
+      break;
+    case atrt_process::AP_NDBD: 
+      groups[0] = "cluster_config";
+      buf[1].assfmt("cluster_config.ndbd.%d", idx);
+      groups[1] = buf[1].c_str();
+      buf[0].assfmt("--defaults-group-suffix=%s", cluster.m_name.c_str());
+      argv[argc++] = buf[0].c_str();
+      break;
+    case atrt_process::AP_MYSQLD:
+      groups[0] = "mysqld";
+      groups[1] = "mysql_cluster";
+      buf[0].assfmt("--defaults-group-suffix=.%d%s",idx,cluster.m_name.c_str());
+      argv[argc++] = buf[0].c_str();
+      break;
+    case atrt_process::AP_CLIENT:
+      buf[0].assfmt("client.%d%s", idx, cluster.m_name.c_str());
+      groups[0] = buf[0].c_str();
+      break;
+    case atrt_process::AP_NDB_API:
+      break;
+    default:
+      g_logger.critical("Unhandled process type: %d", type);
+      return false;
   }
 
   int ret = load_defaults(g_my_cnf, groups, &argc, &tmp);
-  if (ret)
-  {
+  if (ret){
     g_logger.error("Unable to load defaults for cluster: %s", 
-		   cluster.m_name.c_str());
+		            cluster.m_name.c_str());
     return false;
   }
   
@@ -263,129 +249,108 @@ load_process(atrt_config& config, atrt_c
 	     cluster.m_dir.c_str());
   
   switch(type){
-  case atrt_process::AP_NDB_MGMD:
-  {
-    proc.m_proc.m_name.assfmt("%d-%s", proc_no, "ndb_mgmd");
-    proc.m_proc.m_path.assign(g_prefix).append("/libexec/ndb_mgmd");
-    proc.m_proc.m_args.assfmt("--defaults-file=%s/my.cnf",
-			      proc.m_host->m_basedir.c_str());
-    proc.m_proc.m_args.appfmt(" --defaults-group-suffix=%s",
-			      cluster.m_name.c_str());
-    proc.m_proc.m_args.append(" --nodaemon --mycnf");
-    proc.m_proc.m_cwd.assfmt("%sndb_mgmd.%d", dir.c_str(), proc.m_index);
-    proc.m_proc.m_env.appfmt(" MYSQL_GROUP_SUFFIX=%s", 
-			     cluster.m_name.c_str());
-    break;
-  } 
-  case atrt_process::AP_NDBD:
-  {
-    proc.m_proc.m_name.assfmt("%d-%s", proc_no, "ndbd");
-    proc.m_proc.m_path.assign(g_prefix).append("/libexec/ndbd");
-    proc.m_proc.m_args.assfmt("--defaults-file=%s/my.cnf",
-			      proc.m_host->m_basedir.c_str());
-    proc.m_proc.m_args.appfmt(" --defaults-group-suffix=%s",
-			      cluster.m_name.c_str());
-    proc.m_proc.m_args.append(" --nodaemon -n");
-    proc.m_proc.m_cwd.assfmt("%sndbd.%d", dir.c_str(), proc.m_index);
-    proc.m_proc.m_env.appfmt(" MYSQL_GROUP_SUFFIX=%s", 
-			     cluster.m_name.c_str());
-    break;
-  } 
-  case atrt_process::AP_MYSQLD:
-  {
-    proc.m_proc.m_name.assfmt("%d-%s", proc_no, "mysqld");
-    proc.m_proc.m_path.assign(g_prefix).append("/libexec/mysqld");
-    proc.m_proc.m_args.assfmt("--defaults-file=%s/my.cnf",
-			      proc.m_host->m_basedir.c_str());
-    proc.m_proc.m_args.appfmt(" --defaults-group-suffix=.%d%s",
-			      proc.m_index,
-			      cluster.m_name.c_str());
-    proc.m_proc.m_args.append(" --core-file");
-    proc.m_proc.m_cwd.appfmt("%smysqld.%d", dir.c_str(), proc.m_index);
-    proc.m_proc.m_shutdown_options = "SIGKILL"; // not nice
-    proc.m_proc.m_env.appfmt(" MYSQL_GROUP_SUFFIX=.%d%s", 
-			     proc.m_index,
-			     cluster.m_name.c_str());
-    break;
-  } 
-  case atrt_process::AP_NDB_API:
-  {
-    proc.m_proc.m_name.assfmt("%d-%s", proc_no, "ndb_api");
-    proc.m_proc.m_path = "";
-    proc.m_proc.m_args = "";
-    proc.m_proc.m_cwd.appfmt("%sndb_api.%d", dir.c_str(), proc.m_index);
-    proc.m_proc.m_env.appfmt(" MYSQL_GROUP_SUFFIX=%s", 
-			     cluster.m_name.c_str());
-    break;
-  } 
-  case atrt_process::AP_CLIENT:
-  {
-    proc.m_proc.m_name.assfmt("%d-%s", proc_no, "mysql");
-    proc.m_proc.m_path = "";
-    proc.m_proc.m_args = "";
-    proc.m_proc.m_cwd.appfmt("%s/client.%d", dir.c_str(), proc.m_index);
-    proc.m_proc.m_env.appfmt(" MYSQL_GROUP_SUFFIX=.%d%s", 
-			     proc.m_index,
-			     cluster.m_name.c_str());
-    break;
-  }
-  case atrt_process::AP_ALL:
-  case atrt_process::AP_CLUSTER:
-    g_logger.critical("Unhandled process type: %d", proc.m_type);
-    return false;
+    case atrt_process::AP_NDB_MGMD:{
+      proc.m_proc.m_name.assfmt("%d-%s", proc_no, "ndb_mgmd");
+      proc.m_proc.m_path.assign(g_prefix).append("/libexec/ndb_mgmd");
+      proc.m_proc.m_args.assfmt("--defaults-file=%s/my.cnf",
+	                            proc.m_host->m_basedir.c_str());
+      proc.m_proc.m_args.appfmt(" --defaults-group-suffix=%s",
+		                        cluster.m_name.c_str());
+      proc.m_proc.m_args.append(" --nodaemon --mycnf");
+      proc.m_proc.m_cwd.assfmt("%sndb_mgmd.%d", dir.c_str(), proc.m_index);
+      proc.m_proc.m_env.appfmt(" MYSQL_GROUP_SUFFIX=%s", 
+		                       cluster.m_name.c_str());
+      break;
+    } 
+    case atrt_process::AP_NDBD:{
+      proc.m_proc.m_name.assfmt("%d-%s", proc_no, "ndbd");
+      proc.m_proc.m_path.assign(g_prefix).append("/libexec/ndbd");
+      proc.m_proc.m_args.assfmt("--defaults-file=%s/my.cnf",
+		                        proc.m_host->m_basedir.c_str());
+      proc.m_proc.m_args.appfmt(" --defaults-group-suffix=%s",
+		                        cluster.m_name.c_str());
+      proc.m_proc.m_args.append(" --nodaemon -n");
+      proc.m_proc.m_cwd.assfmt("%sndbd.%d", dir.c_str(), proc.m_index);
+      proc.m_proc.m_env.appfmt(" MYSQL_GROUP_SUFFIX=%s", 
+		                       cluster.m_name.c_str());
+      break;
+    } 
+    case atrt_process::AP_MYSQLD:{
+      proc.m_proc.m_name.assfmt("%d-%s", proc_no, "mysqld");
+      proc.m_proc.m_path.assign(g_prefix).append("/libexec/mysqld");
+      proc.m_proc.m_args.assfmt("--defaults-file=%s/my.cnf",
+	                            proc.m_host->m_basedir.c_str());
+      proc.m_proc.m_args.appfmt(" --defaults-group-suffix=.%d%s",
+		                        proc.m_index,cluster.m_name.c_str());
+      proc.m_proc.m_args.append(" --core-file");
+      proc.m_proc.m_cwd.appfmt("%smysqld.%d", dir.c_str(), proc.m_index);
+      proc.m_proc.m_shutdown_options = "SIGKILL"; // not nice
+      proc.m_proc.m_env.appfmt(" MYSQL_GROUP_SUFFIX=.%d%s", 
+		                       proc.m_index, cluster.m_name.c_str());
+      break;
+    } 
+    case atrt_process::AP_NDB_API:{
+      proc.m_proc.m_name.assfmt("%d-%s", proc_no, "ndb_api");
+      proc.m_proc.m_path = "";
+      proc.m_proc.m_args = "";
+      proc.m_proc.m_cwd.appfmt("%sndb_api.%d", dir.c_str(), proc.m_index);
+      proc.m_proc.m_env.appfmt(" MYSQL_GROUP_SUFFIX=%s",cluster.m_name.c_str());
+      break;
+    } 
+    case atrt_process::AP_CLIENT:{
+      proc.m_proc.m_name.assfmt("%d-%s", proc_no, "mysql");
+      proc.m_proc.m_path = "";
+      proc.m_proc.m_args = "";
+      proc.m_proc.m_cwd.appfmt("%s/client.%d", dir.c_str(), proc.m_index);
+      proc.m_proc.m_env.appfmt(" MYSQL_GROUP_SUFFIX=.%d%s", proc.m_index,
+			                   cluster.m_name.c_str());
+      break;
+    }
+    case atrt_process::AP_ALL:
+    case atrt_process::AP_CLUSTER:
+      g_logger.critical("Unhandled process type: %d", proc.m_type);
+      return false;
   }
   
-  if (proc.m_proc.m_path.length())
-  {
+  if (proc.m_proc.m_path.length()){
     proc.m_proc.m_env.appfmt(" CMD=\"%s", proc.m_proc.m_path.c_str());
     if (proc.m_proc.m_args.length())
       proc.m_proc.m_env.append(" ");
-    proc.m_proc.m_env.append(proc.m_proc.m_args);
-    proc.m_proc.m_env.append("\" ");
+      proc.m_proc.m_env.append(proc.m_proc.m_args);
+      proc.m_proc.m_env.append("\" ");
   }
   
-  if (type == atrt_process::AP_MYSQLD)
-  {
+  if (type == atrt_process::AP_MYSQLD){
     /**
      * Add a client for each mysqld
      */
     if (!load_process(config, cluster, atrt_process::AP_CLIENT, idx, hostname))
-    {
       return false;
-    }
   }
   
   if (type == atrt_process::AP_CLIENT)
-  {
     proc.m_mysqld = cluster.m_processes[cluster.m_processes.size()-2];
-  }
-  
+ 
   return true;
 }
 
 static 
 bool
-load_options(int argc, char** argv, int type, atrt_options& opts)
-{
-  for (size_t i = 0; i<(size_t)argc; i++)
-  {
-    for (size_t j = 0; f_options[j].name; j++)
-    {
+load_options(int argc, char** argv, int type, atrt_options& opts){
+  for (size_t i = 0; i<(size_t)argc; i++){
+    for (size_t j = 0; f_options[j].name; j++){
       const char * name = f_options[j].name;
       const size_t len = strlen(name);
-      
-      if ((f_options[j].type & type) && strncmp(argv[i], name, len) == 0)
-      {
-	opts.m_loaded.put(name, argv[i]+len, true);
-	break;
+      if ((f_options[j].type & type) && strncmp(argv[i], name, len) == 0){
+	    opts.m_loaded.put(name, argv[i]+len, true);
+	    break;
       }
     }
   }
   return true;
 }
 
-struct proc_rule_ctx
-{
+struct proc_rule_ctx{
   int m_setup;
   atrt_config* m_config;
   atrt_host * m_host;
@@ -393,8 +358,7 @@ struct proc_rule_ctx
   atrt_process* m_process;
 };
 
-struct proc_rule
-{
+struct proc_rule{
   int type;
   bool (* func)(Properties& prop, proc_rule_ctx&, int extra);
   int extra;
@@ -424,107 +388,92 @@ proc_rule f_rules[] = 
 };
 
 bool
-configure(atrt_config& config, int setup)
-{
+configure(atrt_config& config, int setup){
   Properties props;
-  
-  for (size_t i = 0; f_rules[i].func; i++)
-  {
-    bool ok = true;
+  bool ok = true;
+  for (size_t i = 0; f_rules[i].func; i++){
+    ok = true;
     proc_rule_ctx ctx;
     bzero(&ctx, sizeof(ctx));
     ctx.m_setup = setup;
     ctx.m_config = &config;
-    
-    for (size_t j = 0; j < config.m_clusters.size(); j++)
-    {
+    for (size_t j = 0; j < config.m_clusters.size(); j++){
       ctx.m_cluster = config.m_clusters[j];
-      
-      if (f_rules[i].type & atrt_process::AP_CLUSTER)
-      {
-	g_logger.debug("applying rule %d to cluster %s", i, 
-		       ctx.m_cluster->m_name.c_str());
-	if (! (* f_rules[i].func)(props, ctx, f_rules[i].extra))
-	  ok = false;
-      }
-      else
-      {
-	atrt_cluster& cluster = *config.m_clusters[j];
-	for (size_t k = 0; k<cluster.m_processes.size(); k++)
-	{
-	  atrt_process& proc = *cluster.m_processes[k];
-	  ctx.m_process = cluster.m_processes[k];
-	  if (proc.m_type & f_rules[i].type)
-	  {
-	    g_logger.debug("applying rule %d to %s", i, 
-			   proc.m_proc.m_cwd.c_str());
-	    if (! (* f_rules[i].func)(props, ctx, f_rules[i].extra))
+      if (f_rules[i].type & atrt_process::AP_CLUSTER){
+	    g_logger.debug("applying rule %d to cluster %s", i, 
+		               ctx.m_cluster->m_name.c_str());
+	    if (! (* f_rules[i].func)(props, ctx, f_rules[i].extra)){
 	      ok = false;
-	  }
-	}
+	      g_logger.error("Failed applying rule %d to cluster %s", i, 
+		                 ctx.m_cluster->m_name.c_str());
+	    }
+      }
+      else{
+	    atrt_cluster& cluster = *config.m_clusters[j];
+	    for (size_t k = 0; k<cluster.m_processes.size(); k++){
+	      atrt_process& proc = *cluster.m_processes[k];
+	      ctx.m_process = cluster.m_processes[k];
+	      if (proc.m_type & f_rules[i].type){
+	        g_logger.debug("applying rule %d to %s", i,
+	                       proc.m_proc.m_cwd.c_str());
+	        if (! (* f_rules[i].func)(props, ctx, f_rules[i].extra)){
+	          ok = false;
+	          g_logger.error("Failed applying rule %d to %s", i, 
+			                 proc.m_proc.m_cwd.c_str());
+	        }
+	      }
+	    }
       }
     }
-    
-    if (!ok)
-    {
-      return false;
-    }
   }
+    
+  if (!ok)
+    return false;
 
   return true;
 }
 
 static
 atrt_process*
-find(atrt_config& config, int type, const char * name)
-{
+find(atrt_config& config, int type, const char * name){
   BaseString tmp(name);
   Vector<BaseString> src;
   Vector<BaseString> dst;
   tmp.split(src, ".");
   
   if (src.size() != 2)
-  {
     return 0;
-  }
   atrt_cluster* cluster = 0;
   BaseString cl;
   cl.appfmt(".%s", src[1].c_str());
-  for (size_t i = 0; i<config.m_clusters.size(); i++)
-  {
-    if (config.m_clusters[i]->m_name == cl)
-    {
+  for (size_t i = 0; i<config.m_clusters.size(); i++){
+    if (config.m_clusters[i]->m_name == cl){
       cluster = config.m_clusters[i];
       break;
     }
   }   
   
   if (cluster == 0)
-  {
     return 0;
-  }
   
   int idx = atoi(src[0].c_str()) - 1;
-  for (size_t i = 0; i<cluster->m_processes.size(); i++)
-  {
-    if (cluster->m_processes[i]->m_type & type)
-    {
-      if (idx == 0)
-	return cluster->m_processes[i];
-      else
-	idx --;
+  for (size_t i = 0; i<cluster->m_processes.size(); i++){
+    if (cluster->m_processes[i]->m_type & type){
+      if (idx == 0){
+	    return cluster->m_processes[i];
+      }
+      else{
+	    idx --;
+      }
     }
   }
-  
   return 0;
 }
 
 static 
 bool 
-pr_check_replication(Properties& props, proc_rule_ctx& ctx, int)
-{
-  if (! (ctx.m_config->m_replication == ""))
-  {
+pr_check_replication(Properties& props, proc_rule_ctx& ctx, int){
+  if (! (ctx.m_config->m_replication == "")){
     Vector<BaseString> list;
     ctx.m_config->m_replication.split(list, ";");
     atrt_config& config = *ctx.m_config;
@@ -532,40 +481,32 @@ pr_check_replication(Properties& props, 
     ctx.m_config->m_replication = "";
     
     const char * msg = "Invalid replication specification";
-    for (size_t i = 0; i<list.size(); i++)
-    {
+    for (size_t i = 0; i<list.size(); i++){
       Vector<BaseString> rep;
       list[i].split(rep, ":");
-      if (rep.size() != 2)
-      {
-	g_logger.error("%s: %s (split: %d)", msg, list[i].c_str(), rep.size());
-      return false;
+      if (rep.size() != 2){
+	    g_logger.error("%s: %s (split: %d)", msg, list[i].c_str(), rep.size());
+        return false;
       }
       
       atrt_process* src = find(config, atrt_process::AP_MYSQLD,rep[0].c_str());
       atrt_process* dst = find(config, atrt_process::AP_MYSQLD,rep[1].c_str());
       
-      if (src == 0 || dst == 0)
-      {
-	g_logger.error("%s: %s (%d %d)",
-		       msg, list[i].c_str(), src != 0, dst != 0);
-	return false;
+      if (src == 0 || dst == 0){
+	    g_logger.error("%s: %s (%d %d)",
+		               msg, list[i].c_str(), src != 0, dst != 0);
+	    return false;
       }
       
-      
-      if (dst->m_rep_src != 0)
-      {
-	g_logger.error("%s: %s : %s already has replication src (%s)",
-		       msg,
-		       list[i].c_str(),
-		       dst->m_proc.m_cwd.c_str(),
-		       dst->m_rep_src->m_proc.m_cwd.c_str());
-	return false;
+      if (dst->m_rep_src != 0){
+	     g_logger.error("%s: %s : %s already has replication src (%s)",
+		                msg,list[i].c_str(),dst->m_proc.m_cwd.c_str(),
+		                dst->m_rep_src->m_proc.m_cwd.c_str());
+	     return false;
       }
       
       dst->m_rep_src = src;
       src->m_rep_dst.push_back(dst);
-      
       src->m_options.m_features |= PO_REP_MASTER;
       dst->m_options.m_features |= PO_REP_SLAVE;
     }
@@ -575,26 +516,21 @@ pr_check_replication(Properties& props, 
 
 static 
 bool 
-pr_check_features(Properties& props, proc_rule_ctx& ctx, int)
-{
+pr_check_features(Properties& props, proc_rule_ctx& ctx, int){
   int features = 0;
   atrt_cluster& cluster = *ctx.m_cluster;
-  for (size_t i = 0; i<cluster.m_processes.size(); i++)
-  {
+  for (size_t i = 0; i<cluster.m_processes.size(); i++){
     if (cluster.m_processes[i]->m_type == atrt_process::AP_NDB_MGMD ||
-	cluster.m_processes[i]->m_type == atrt_process::AP_NDB_API ||
-	cluster.m_processes[i]->m_type == atrt_process::AP_NDBD)
-    {
+	    cluster.m_processes[i]->m_type == atrt_process::AP_NDB_API ||
+	    cluster.m_processes[i]->m_type == atrt_process::AP_NDBD){
       features |= atrt_options::AO_NDBCLUSTER;
       break;
     }
   }
   
-  if (features)
-  {
+  if (features){
     cluster.m_options.m_features |= features;
-    for (size_t i = 0; i<cluster.m_processes.size(); i++)
-    {
+    for (size_t i = 0; i<cluster.m_processes.size(); i++){
       cluster.m_processes[i]->m_options.m_features |= features;
     }
   }
@@ -603,45 +539,37 @@ pr_check_features(Properties& props, pro
 
 static 
 bool 
-pr_fix_client(Properties& props, proc_rule_ctx& ctx, int)
-{
-  for (size_t i = 0; f_options[i].name; i++)
-  {
+pr_fix_client(Properties& props, proc_rule_ctx& ctx, int){
+  for (size_t i = 0; f_options[i].name; i++){
     proc_option& opt = f_options[i];
     const char * name = opt.name;
-    if (opt.type & atrt_process::AP_CLIENT)
-    {
+    if (opt.type & atrt_process::AP_CLIENT){
       const char * val;
       atrt_process& proc = *ctx.m_process; 
-      if (!proc.m_options.m_loaded.get(name, &val))
-      {
-	require(proc.m_mysqld->m_options.m_loaded.get(name, &val));
-	proc.m_options.m_loaded.put(name, val);
-	proc.m_options.m_generated.put(name, val);
+      if (!proc.m_options.m_loaded.get(name, &val)){
+	    require(proc.m_mysqld->m_options.m_loaded.get(name, &val));
+	    proc.m_options.m_loaded.put(name, val);
+	    proc.m_options.m_generated.put(name, val);
       }
     }
   }
-  
   return true;
 }
 
 static
 Uint32
-try_default_port(atrt_process& proc, const char * name)
-{
+try_default_port(atrt_process& proc, const char * name){
   Uint32 port = 
     strcmp(name, "--port=") == 0 ? 3306 :
     strcmp(name, "--PortNumber=") == 0 ? 1186 : 
     0;
   
   atrt_host * host = proc.m_host;
-  for (size_t i = 0; i<host->m_processes.size(); i++)
-  {
+  for (size_t i = 0; i<host->m_processes.size(); i++){
     const char * val;
-    if (host->m_processes[i]->m_options.m_loaded.get(name, &val))
-    {
+    if (host->m_processes[i]->m_options.m_loaded.get(name, &val)){
       if ((Uint32)atoi(val) == port)
-	return 0;
+	    return 0;
     }
   }
   return port;
@@ -649,34 +577,28 @@ try_default_port(atrt_process& proc, con
 
 static
 bool
-generate(atrt_process& proc, const char * name, Properties& props)
-{
+generate(atrt_process& proc, const char * name, Properties& props){
   atrt_options& opts = proc.m_options;
   if (strcmp(name, "--port=") == 0 || 
-      strcmp(name, "--PortNumber=") == 0)
-  {
+      strcmp(name, "--PortNumber=") == 0){
     Uint32 val;
-    if (g_default_ports == 0 || (val = try_default_port(proc, name)) == 0)
-    {
+    if (g_default_ports == 0 || (val = try_default_port(proc, name)) == 0){
       val = g_baseport;
       props.get("--PortNumber=", &val);
       props.put("--PortNumber=", (val + 1), true);
     }
-    
     char buf[255];
     snprintf(buf, sizeof(buf), "%u", val);
     opts.m_loaded.put(name, buf);
     opts.m_generated.put(name, buf);
     return true;
   }
-  else if (strcmp(name, "--datadir=") == 0)
-  {
+  else if (strcmp(name, "--datadir=") == 0){
     opts.m_loaded.put(name, proc.m_proc.m_cwd.c_str());
     opts.m_generated.put(name, proc.m_proc.m_cwd.c_str());
     return true;
   }
-  else if (strcmp(name, "--FileSystemPath=") == 0)
-  {
+  else if (strcmp(name, "--FileSystemPath=") == 0){
     BaseString dir;
     dir.append(proc.m_host->m_basedir);
     dir.append("/");
@@ -685,40 +607,31 @@ generate(atrt_process& proc, const char 
     opts.m_generated.put(name, dir.c_str());
     return true;
   }
-  else if (strcmp(name, "--socket=") == 0)
-  {
+  else if (strcmp(name, "--socket=") == 0){
     const char * sock = 0;
-    if (g_default_ports)
-    {
+    if (g_default_ports){
       sock = "/tmp/mysql.sock";
       atrt_host * host = proc.m_host;
-      for (size_t i = 0; i<host->m_processes.size(); i++)
-      {
-	const char * val;
-	if (host->m_processes[i]->m_options.m_loaded.get(name, &val))
-	{
-	  if (strcmp(sock, val) == 0)
-	  {
-	    sock = 0;
-	    break;
-	  }
-	}
+      for (size_t i = 0; i<host->m_processes.size(); i++){
+	    const char * val;
+	    if (host->m_processes[i]->m_options.m_loaded.get(name, &val)){
+	      if (strcmp(sock, val) == 0){
+	        sock = 0;
+	        break;
+	      }
+	    }
       }
     }
-    
     BaseString tmp;
-    if (sock == 0)
-    {
+    if (sock == 0){
       tmp.assfmt("%s/mysql.sock", proc.m_proc.m_cwd.c_str());
       sock = tmp.c_str();
     }
-    
     opts.m_loaded.put(name, sock);
     opts.m_generated.put(name, sock);
     return true;
   }
-  else if (strcmp(name, "--server-id=") == 0)
-  {
+  else if (strcmp(name, "--server-id=") == 0){
     Uint32 val = 1;
     props.get(name, &val);
     char buf[255];
@@ -728,64 +641,52 @@ generate(atrt_process& proc, const char 
     props.put(name, (val + 1), true);
     return true;
   } 
-  else if (strcmp(name, "--log-bin") == 0)
-  {
+  else if (strcmp(name, "--log-bin") == 0){
     opts.m_loaded.put(name, "");
     opts.m_generated.put(name, "");
     return true;
   }
-  else if (strcmp(name, "--master-host=") == 0)
-  {
+  else if (strcmp(name, "--master-host=") == 0){
     require(proc.m_rep_src != 0);
     opts.m_loaded.put(name, proc.m_rep_src->m_host->m_hostname.c_str());
     opts.m_generated.put(name, proc.m_rep_src->m_host->m_hostname.c_str());
     return true;
   }
-  else if (strcmp(name, "--master-port=") == 0)
-  {
+  else if (strcmp(name, "--master-port=") == 0){
     const char* val;
     require(proc.m_rep_src->m_options.m_loaded.get("--port=", &val));
     opts.m_loaded.put(name, val);
     opts.m_generated.put(name, val);
     return true;
   }
-  else if (strcmp(name, "--master-user=") == 0)
-  {
+  else if (strcmp(name, "--master-user=") == 0){
     opts.m_loaded.put(name, "root");
     opts.m_generated.put(name, "root");
     return true;
   }
-  else if (strcmp(name, "--master-password=") == 0)
-  {
+  else if (strcmp(name, "--master-password=") == 0){
     opts.m_loaded.put(name, "\"\"");
     opts.m_generated.put(name, "\"\"");
     return true;
   }
-  
   g_logger.warning("Unknown parameter: %s", name);
   return true;
 }
 
 static 
 bool 
-pr_proc_options(Properties& props, proc_rule_ctx& ctx, int extra)
-{
-  for (size_t i = 0; f_options[i].name; i++)
-  {
+pr_proc_options(Properties& props, proc_rule_ctx& ctx, int extra){
+  for (size_t i = 0; f_options[i].name; i++){
     proc_option& opt = f_options[i];
     atrt_process& proc = *ctx.m_process; 
     const char * name = opt.name;
-    if (opt.type & proc.m_type)
-    {
+    if (opt.type & proc.m_type){
       if (opt.options == 0 || 
-	  (opt.options & extra & proc.m_options.m_features))
-      {
-	const char * val;
-	if (!proc.m_options.m_loaded.get(name, &val))
-	{
-	  generate(proc, name, props);
-	}
-      }
+	     (opt.options & extra & proc.m_options.m_features)){
+	    const char * val;
+	    if (!proc.m_options.m_loaded.get(name, &val))
+	      generate(proc, name, props);
+	  }
     }
   }
   return true;
@@ -793,42 +694,32 @@ pr_proc_options(Properties& props, proc_
 
 static 
 bool 
-pr_fix_ndb_connectstring(Properties& props, proc_rule_ctx& ctx, int)
-{
+pr_fix_ndb_connectstring(Properties& props, proc_rule_ctx& ctx, int){
   const char * val;
   atrt_cluster& cluster = *ctx.m_cluster;
-
-  if (cluster.m_options.m_features & atrt_options::AO_NDBCLUSTER)
-  {
-    if (!cluster.m_options.m_loaded.get(ndbcs, &val))
-    {
+  if (cluster.m_options.m_features & atrt_options::AO_NDBCLUSTER){
+    if (!cluster.m_options.m_loaded.get(ndbcs, &val)){
       /**
        * Construct connect string for this cluster
      */
       BaseString str;
-      for (size_t i = 0; i<cluster.m_processes.size(); i++)
-      {
-	atrt_process* tmp = cluster.m_processes[i];
-	if (tmp->m_type == atrt_process::AP_NDB_MGMD)
-	{
-	  if (str.length())
-	  {
-	    str.append(";");
-	  }
-	  const char * port;
-	  require(tmp->m_options.m_loaded.get("--PortNumber=", &port));
-	  str.appfmt("%s:%s", tmp->m_host->m_hostname.c_str(), port);
-	}
+      for (size_t i = 0; i<cluster.m_processes.size(); i++){
+	    atrt_process* tmp = cluster.m_processes[i];
+	    if (tmp->m_type == atrt_process::AP_NDB_MGMD){
+	      if (str.length()){
+	        str.append(";");
+	      }
+	      const char * port;
+	      require(tmp->m_options.m_loaded.get("--PortNumber=", &port));
+	      str.appfmt("%s:%s", tmp->m_host->m_hostname.c_str(), port);
+	    }
       }
       cluster.m_options.m_loaded.put(ndbcs, str.c_str());
       cluster.m_options.m_generated.put(ndbcs, str.c_str());
       cluster.m_options.m_loaded.get(ndbcs, &val);
     }
-    
-    for (size_t i = 0; i<cluster.m_processes.size(); i++)
-    {
-      cluster.m_processes[i]->m_proc.m_env.appfmt(" NDB_CONNECTSTRING=%s", 
-						  val);
+    for (size_t i = 0; i<cluster.m_processes.size(); i++){
+      cluster.m_processes[i]->m_proc.m_env.appfmt(" NDB_CONNECTSTRING=%s",val);
     }
   }
   return true;
@@ -836,22 +727,16 @@ pr_fix_ndb_connectstring(Properties& pro
 
 static 
 bool 
-pr_set_ndb_connectstring(Properties& props, proc_rule_ctx& ctx, int)
-{
+pr_set_ndb_connectstring(Properties& props, proc_rule_ctx& ctx, int){
   const char * val;
-  
   atrt_process& proc = *ctx.m_process;
-  if (proc.m_options.m_features & atrt_options::AO_NDBCLUSTER)
-  {
-    if (!proc.m_options.m_loaded.get(ndbcs, &val))
-    {
+  if (proc.m_options.m_features & atrt_options::AO_NDBCLUSTER){
+    if (!proc.m_options.m_loaded.get(ndbcs, &val)){
       require(proc.m_cluster->m_options.m_loaded.get(ndbcs, &val));
       proc.m_options.m_loaded.put(ndbcs, val);
       proc.m_options.m_generated.put(ndbcs, val);
     }
-    
-    if (!proc.m_options.m_loaded.get("--ndbcluster", &val))
-    {
+    if (!proc.m_options.m_loaded.get("--ndbcluster", &val)){
       proc.m_options.m_loaded.put("--ndbcluster", "");
       proc.m_options.m_generated.put("--ndbcluster", "");
     }
@@ -861,49 +746,39 @@ pr_set_ndb_connectstring(Properties& pro
 
 static 
 bool 
-pr_check_proc(Properties& props, proc_rule_ctx& ctx, int)
-{
+pr_check_proc(Properties& props, proc_rule_ctx& ctx, int){
   bool ok = true;
   bool generated = false;
   const int setup = ctx.m_setup;
   atrt_process& proc = *ctx.m_process; 
-  for (size_t i = 0; f_options[i].name; i++)
-  {
+  for (size_t i = 0; f_options[i].name; i++){
     proc_option& opt = f_options[i];
     const char * name = opt.name;
     if ((ctx.m_process->m_type & opt.type) &&
-	(opt.options == 0 || (ctx.m_process->m_options.m_features & opt.options)))
-    {
+	    (opt.options == 0 || 
+	    (ctx.m_process->m_options.m_features & opt.options))){
       const char * val;
-      if (!proc.m_options.m_loaded.get(name, &val))
-      {
-	ok = false;
-	g_logger.warning("Missing paramter: %s for %s",
-			 name, proc.m_proc.m_cwd.c_str());
-      }
-      else if (proc.m_options.m_generated.get(name, &val))
-      {
-	if (setup == 0)
-	{
-	  ok = false;
-	  g_logger.warning("Missing paramter: %s for %s",
-			   name, proc.m_proc.m_cwd.c_str());
-	}
-	else
-	{
-	  generated = true;
-	}
+      if (!proc.m_options.m_loaded.get(name, &val)){
+	    ok = false;
+	    g_logger.warning("Missing paramter: %s for %s",
+		                 name, proc.m_proc.m_cwd.c_str());
+      }
+      else if (proc.m_options.m_generated.get(name, &val)){
+	    if (setup == 0){
+	      ok = false;
+	      g_logger.warning("Missing paramter: %s for %s",
+			               name, proc.m_proc.m_cwd.c_str());
+	    }
+	    else{
+	      generated = true;
+	    }
       }
     }
   }
-  
-  if (generated)
-  {
+  if (generated){
     ctx.m_config->m_generated = true;
   }
-  
   //ndbout << proc << endl;
-  
   return ok;
 }
 
@@ -913,23 +788,23 @@ operator<<(NdbOut& out, const atrt_proce
 {
   out << "[ atrt_process: ";
   switch(proc.m_type){
-  case atrt_process::AP_NDB_MGMD:
-    out << "ndb_mgmd";
-    break;
-  case atrt_process::AP_NDBD: 
-    out << "ndbd";
-    break;
-  case atrt_process::AP_MYSQLD:
-    out << "mysqld";
-    break;
-  case atrt_process::AP_NDB_API:
-    out << "ndbapi";
-    break;
-  case atrt_process::AP_CLIENT:
-    out << "client";
-    break;
-  default:
-    out << "<unknown: " << (int)proc.m_type << " >";
+    case atrt_process::AP_NDB_MGMD:
+      out << "ndb_mgmd";
+      break;
+    case atrt_process::AP_NDBD: 
+      out << "ndbd";
+      break;
+    case atrt_process::AP_MYSQLD:
+      out << "mysqld";
+      break;
+    case atrt_process::AP_NDB_API:
+      out << "ndbapi";
+      break;
+    case atrt_process::AP_CLIENT:
+      out << "client";
+      break;
+    default:
+      out << "<unknown: " << (int)proc.m_type << " >";
   }
   
   out << " cluster: " << proc.m_cluster->m_name.c_str()
Thread
bk commit into 5.1 tree (jmiller:1.2582)Jonathan Miller26 Nov
  • Re: bk commit into 5.1 tree (jmiller:1.2582)Jonas Oreland26 Nov
    • RE: bk commit into 5.1 tree (jmiller:1.2582)Jonathan Miller26 Nov
    • RE: bk commit into 5.1 tree (jmiller:1.2582)Jonathan Miller27 Nov
      • Re: bk commit into 5.1 tree (jmiller:1.2582)Jonas Oreland28 Nov
        • RE: bk commit into 5.1 tree (jmiller:1.2582)Jonathan Miller28 Nov