Просмотр исходного кода

109 dtc exiting by table check dismatch (#121)

* connector: force check table #97, exit if failed.

* helper: verify time reduced to 2s.
Yang Shuang 1 год назад
Родитель
Сommit
b8c01ec897
4 измененных файлов с 14 добавлено и 4 удалено
  1. 1 2
      src/connector/connector.cc
  2. 6 0
      src/core/main.cc
  3. 4 2
      src/daemons/helper.cc
  4. 3 0
      src/daemons/run.cc

+ 1 - 2
src/connector/connector.cc

@@ -328,8 +328,7 @@ int main(int argc, char **argv)
 		proc_timeout = 0;
 		
 	addr = argv[1];
-	if (dbConfig->checkTable &&
-	    check_db_table(helperArgs.gid, helperArgs.role) != 0) {
+	if (check_db_table(helperArgs.gid, helperArgs.role) != 0) {
 		return -1;
 	}
 	int fd = -1;

+ 6 - 0
src/core/main.cc

@@ -102,8 +102,14 @@ int main(int argc, char *argv[])
 		return DTC_CODE_FAILED;
 	Thread::set_auto_config_instance(
 		g_dtc_config->get_auto_config_instance("cache"));
+	log4cplus_debug("entry start dtc");
 	if (start_dtc(init_thread, NULL) < 0)
+	{
+		log4cplus_debug("entry will exit");
+		abort();
 		return DTC_CODE_FAILED;
+	}
+	log4cplus_debug("entry start dtc finished.");
 
 	if (init_thread(NULL))
 		return DTC_CODE_FAILED;

+ 4 - 2
src/daemons/helper.cc

@@ -114,15 +114,17 @@ int WatchDogHelper::verify()
 {
 	struct sockaddr_un unaddr;
 	int len = init_unix_socket_address(&unaddr, path_);
-	log4cplus_info("verify path:%s" , path_);
+	log4cplus_info("verify path:%s." , path_);
 	/* delay 100ms and verify socket */
-	usleep(100 * 1000);
+	//usleep(5000 * 1000);
+	sleep(2);
 	int s = socket(unaddr.sun_family, SOCK_STREAM, 0);
 	if (connect(s, (sockaddr *)&unaddr, len) < 0) {
 		close(s);
 		log4cplus_error("verify connect: %m");
 		return -1;
 	}
+	log4cplus_info("verify success.");
 	close(s);
 	return watchdog_object_pid_;
 }

+ 3 - 0
src/daemons/run.cc

@@ -87,7 +87,10 @@ int start_dtc(int (*entry)(void *), void *args)
 					return -1;
 				}
 				if (h->new_proc_fork() < 0 || h->verify() < 0)
+				{
+					log4cplus_error("fork failed and exit.");
 					return -1;
+				}
 				nh++;
 			}
 		}