34 #include <sys/types.h> 35 #include <netinet/in.h> 39 #if defined(SOLARIS) || defined(LINUX) 58 #define COMMDB_CMD_ALLOWED_ON_REMOTE() \ 59 ((commdb_Arg_deact_stop_all == true) \ 60 || (commdb_Arg_deact_confirm_stop_all == true) \ 61 || (commdb_Arg_deact_confirm_no_server == true) \ 62 || (commdb_Arg_deactivate_heartbeat == true) \ 63 || (commdb_Arg_is_registered == true) \ 64 || (commdb_Arg_ha_deregister_by_args == true) \ 65 || (commdb_Arg_print_ha_node_info == true) \ 66 || (commdb_Arg_print_ha_process_info == true) \ 67 || (commdb_Arg_print_ha_ping_hosts_info == true) \ 68 || (commdb_Arg_print_ha_admin_info == true) \ 69 || (commdb_Arg_ha_start_util_process == true) \ 80 #if defined (ENABLE_UNUSED_FUNCTION) 145 static unsigned short 148 unsigned short request_id;
164 static unsigned short 167 unsigned short request_id;
185 static unsigned short 188 unsigned short request_id;
201 static unsigned short 265 #if defined (ENABLE_UNUSED_FUNCTION) 293 if (size ==
sizeof (
int))
295 size =
ntohl (*buffer);
330 int server_count, requests_serviced;
331 char *buffer1 =
NULL, *buffer2 =
NULL;
332 unsigned short rid1, rid2, rid3, rid4;
334 if (server_info !=
NULL)
351 rid1 = rid3 = rid4 = 0;
356 if (!rid1 || !rid2 || !rid3 || !rid4)
366 if (server_info ==
NULL)
372 *server_info = buffer2;
417 down =
htonl (minutes);
436 char *reply_buffer =
NULL;
440 net_minutes =
htonl (minutes);
447 printf (
"\n%s\n", reply_buffer);
454 if (reply_buffer !=
NULL)
469 char *reply_buffer =
NULL;
478 printf (
"\n%s\n", reply_buffer);
481 if (reply_buffer !=
NULL)
498 char search_pattern[256];
501 char *server_info =
NULL;
513 sprintf (search_pattern,
"Server %s (", server);
516 p = strstr (server_info, search_pattern);
519 p = strstr (p +
strlen (search_pattern),
"pid");
543 char *reply_buffer =
NULL;
545 #if !defined(WINDOWS) 549 #if !defined(WINDOWS) 556 printf (
"\n%s\n", reply_buffer);
559 if (reply_buffer !=
NULL)
574 char *reply_buffer =
NULL;
576 #if !defined(WINDOWS) 580 #if !defined(WINDOWS) 587 printf (
"\n%s\n", reply_buffer);
590 if (reply_buffer !=
NULL)
604 char *reply_buffer =
NULL;
606 #if !defined(WINDOWS) 610 #if !defined(WINDOWS) 615 if (size > 0 && reply_buffer[0] !=
'\0')
617 printf (
"\n%s\n", reply_buffer);
620 if (reply_buffer !=
NULL)
634 char *reply_buffer =
NULL;
636 #if !defined(WINDOWS) 640 #if !defined(WINDOWS) 645 if (size > 0 && reply_buffer[0] !=
'\0')
647 printf (
"\n%s\n", reply_buffer);
650 if (reply_buffer !=
NULL)
664 char *reply_buffer =
NULL;
666 #if !defined(WINDOWS) 670 #if !defined(WINDOWS) 677 printf (
"\n%s\n", reply_buffer);
680 if (reply_buffer !=
NULL)
695 #if !defined(WINDOWS) 696 char *reply_buffer =
NULL;
702 strncpy (buffer, args,
sizeof (buffer) - 1);
703 len =
strlen (buffer) + 1;
716 if (reply_buffer !=
NULL)
735 #if !defined(WINDOWS) 736 char *reply_buffer =
NULL;
742 pid =
htonl (atoi (pid_string));
756 if (reply_buffer !=
NULL)
775 #if !defined(WINDOWS) 776 char *reply_buffer =
NULL;
782 strncpy (buffer, args,
sizeof (buffer) - 1);
783 len =
strlen (buffer) + 1;
796 if (reply_buffer !=
NULL)
814 char *reply_buffer =
NULL;
817 #if !defined(WINDOWS) 821 #if !defined(WINDOWS) 826 if (size > 0 && reply_buffer[0] !=
'\0')
828 printf (
"\n%s\n", reply_buffer);
836 if (reply_buffer !=
NULL)
853 char *msg_reply_buffer =
NULL;
854 char *result_reply_buffer =
NULL;
856 #if !defined(WINDOWS) 860 #if !defined(WINDOWS) 864 if (size > 0 && msg_reply_buffer[0] !=
'\0')
866 printf (
"\n%s\n", msg_reply_buffer);
880 if (msg_reply_buffer !=
NULL)
885 if (result_reply_buffer !=
NULL)
896 char *reply_buffer =
NULL;
898 #if !defined(WINDOWS) 902 #if !defined(WINDOWS) 916 if (reply_buffer !=
NULL)
928 char *reply_buffer =
NULL;
930 #if !defined(WINDOWS) 934 #if !defined(WINDOWS) 948 if (reply_buffer !=
NULL)
960 char *reply_buffer =
NULL;
962 #if !defined(WINDOWS) 966 #if !defined(WINDOWS) 981 if (reply_buffer !=
NULL)
998 char *reply_buffer =
NULL;
1000 #if !defined(WINDOWS) 1004 #if !defined(WINDOWS) 1018 if (reply_buffer !=
NULL)
1036 #if !defined(WINDOWS) 1037 char *reply_buffer =
NULL;
1043 strncpy (buffer, args,
sizeof (buffer) - 1);
1044 len =
strlen (buffer) + 1;
1057 if (reply_buffer !=
NULL)
1192 int status = EXIT_SUCCESS;
1195 const char *hostname =
"localhost";
1198 static struct option commdb_options[] = {
1227 #if defined(WINDOWS) 1230 return EXIT_FAILURE;
1234 #if !defined(WINDOWS) 1237 return EXIT_FAILURE;
1244 return EXIT_FAILURE;
1257 int option_index = 0;
1262 option_key =
getopt_long (argc, argv, optstring, commdb_options, &option_index);
1263 if (option_key == -1)
1386 status = EXIT_FAILURE;
1394 status = EXIT_FAILURE;
1402 #if defined(WINDOWS) 1411 status = EXIT_FAILURE;
static bool commdb_Arg_print_all_info
#define COMMDB_HA_START_UTIL_PROCESS_L
static void process_slave_kill(CSS_CONN_ENTRY *conn, char *slave_name, int minutes, int pid)
CSS_CONN_ENTRY * css_connect_to_master_for_info(const char *host_name, int port_id, unsigned short *rid)
static int process_is_registered_proc(CSS_CONN_ENTRY *conn, char *args)
#define HA_REQUEST_SUCCESS
#define COMMDB_ACTIVATE_HEARTBEAT_S
#define COMMDB_HB_DEACT_IMMEDIATELY_S
static bool commdb_Arg_deact_confirm_stop_all
#define PRINT_AND_LOG_ERR_MSG(...)
#define COMMDB_HB_DEACT_IMMEDIATELY_L
static char * commdb_Arg_ha_mode_server_name
#define COMMDB_DEACT_STOP_ALL_S
#define COMMDB_IS_REGISTERED_PROC_S
#define COMMDB_ALL_LIST_S
static bool commdb_Arg_kill_all_ha_utils
unsigned int htonl(unsigned int from)
void master_util_wait_proc_terminate(int pid)
static int process_deact_stop_all(CSS_CONN_ENTRY *conn)
#define COMMDB_HA_NODE_LIST_S
static int send_for_all_count(CSS_CONN_ENTRY *conn)
#define COMMDB_DEACT_CONFIRM_STOP_ALL_S
#define COMMDB_DEACT_CONFIRM_STOP_ALL_L
static int process_server_info_pid(CSS_CONN_ENTRY *conn, const char *server, int server_type)
static int process_ha_deregister_by_pid(CSS_CONN_ENTRY *conn, char *pid_string)
#define COMMDB_DEACT_CONFIRM_NO_SERVER_L
#define COMMDB_DEREG_HA_BY_ARGS_L
#define COMMDB_CMD_ALLOWED_ON_REMOTE()
int getopt_long(int, char *const *, const char *, const struct option *, int *)
static char * commdb_Arg_host_name
#define COMMDB_HA_ADMIN_INFO_L
static void process_kill_all_ha_utils(CSS_CONN_ENTRY *conn)
#define COMMDB_ALL_LIST_L
#define COMMDB_DEREG_HA_BY_PID_L
static int send_for_server_stats(CSS_CONN_ENTRY *conn)
static unsigned short send_request_one_arg(CSS_CONN_ENTRY *conn, int command, char *buffer, int size)
static int process_ha_deregister_by_args(CSS_CONN_ENTRY *conn, char *args)
int util_log_write_errid(int message_id,...)
static int send_for_request_count(CSS_CONN_ENTRY *conn)
static int send_for_all_stats(CSS_CONN_ENTRY *conn)
static bool commdb_Arg_is_registered
static int process_deact_confirm_no_server(CSS_CONN_ENTRY *conn)
static void process_ha_server_mode(CSS_CONN_ENTRY *conn, char *server_name)
static bool commdb_Arg_ha_mode_server_info
#define COMMDB_VERBOSE_OUTPUT_S
#define COMMDB_KILL_ALL_HA_PROCESS_L
static int process_batch_command(CSS_CONN_ENTRY *conn)
static bool commdb_Arg_ha_deregister_by_args
#define COMMDB_HA_ADMIN_INFO_S
#define COMMDB_SERVER_LIST_L
static bool commdb_Arg_deact_stop_all
#define COMMDB_ACTIVATE_HEARTBEAT_L
int css_send_request(CSS_CONN_ENTRY *conn, int command, unsigned short *request_id, const char *arg_buffer, int arg_buffer_size)
#define COMMDB_RECONFIG_HEARTBEAT_S
static bool commdb_Arg_print_ha_process_info
static void return_string(CSS_CONN_ENTRY *conn, unsigned short request_id, char **buffer, int *buffer_size)
static int process_activate_heartbeat(CSS_CONN_ENTRY *conn)
#define HB_MAX_SZ_PROC_ARGS
static bool commdb_Arg_print_ha_admin_info
#define COMMDB_HA_START_UTIL_PROCESS_S
#define COMMDB_IS_REGISTERED_PROC_L
static void process_master_stop_shutdown(CSS_CONN_ENTRY *conn)
static unsigned short send_for_start_time(CSS_CONN_ENTRY *conn)
#define COMMDB_SHUTDOWN_ALL_L
static int process_deactivate_heartbeat(CSS_CONN_ENTRY *conn)
static bool commdb_Arg_print_ha_ping_hosts_info
static char * commdb_Arg_is_registered_id
static unsigned short send_request_no_args(CSS_CONN_ENTRY *conn, int command)
#define COMMDB_DEACT_STOP_ALL_L
bool master_util_config_startup(const char *db_name, int *port_id)
#define COMMDB_DEACTIVATE_HEARTBEAT_L
#define COMMDB_DEREG_HA_BY_PID_S
char * utility_make_getopt_optstring(const GETOPT_LONG *opt_array, char *buf)
#define COMMDB_VERBOSE_OUTPUT_L
static void process_master_shutdown(CSS_CONN_ENTRY *conn, int minutes)
#define COMMDB_DEREG_HA_BY_ARGS_S
static void process_status_query(CSS_CONN_ENTRY *conn, int server_type, char **server_info)
static bool commdb_Arg_deactivate_heartbeat
static bool commdb_Arg_reconfig_heartbeat
int main(int argc, char **argv)
#define COMMDB_HA_PING_HOST_LIST_L
static bool commdb_Arg_verbose_output
#define COMMDB_SERVER_LIST_S
static unsigned short send_request_two_args(CSS_CONN_ENTRY *conn, int command, char *buffer1, int size1, char *buffer2, int size2)
static void process_ha_node_info_query(CSS_CONN_ENTRY *conn, int verbose_yn)
static char * commdb_Arg_ha_util_process_args
static int commdb_Arg_shutdown_time
static void error(const char *msg)
#define COMMDB_HA_PROCESS_LIST_L
#define COMMDB_HA_PING_HOST_LIST_S
int css_receive_data(CSS_CONN_ENTRY *conn, unsigned short req_id, char **buffer, int *buffer_size, int timeout)
#define COMMDB_RECONFIG_HEARTBEAT_L
static int process_deact_confirm_stop_all(CSS_CONN_ENTRY *conn)
int css_windows_startup(void)
static bool commdb_Arg_print_ha_node_info
#define COMMDB_KILL_ALL_HA_PROCESS_S
static bool commdb_Arg_kill_all
#define free_and_init(ptr)
static void process_ha_admin_info_query(CSS_CONN_ENTRY *conn)
static char * commdb_Arg_server_name
#define COMMDB_DEACTIVATE_HEARTBEAT_S
#define COMMDB_SHUTDOWN_ALL_S
#define COMMDB_SERVER_MODE_S
void css_windows_shutdown(void)
static bool commdb_Arg_ha_deregister_by_pid
static bool commdb_Arg_print_info
#define COMMDB_SERVER_MODE_L
char * msgcat_message(int cat_id, int set_id, int msg_id)
static void process_master_kill(CSS_CONN_ENTRY *conn)
static int send_for_server_count(CSS_CONN_ENTRY *conn)
char * strdup(const char *str)
static bool commdb_Arg_activate_heartbeat
unsigned int ntohl(unsigned int from)
int css_send_data(CSS_CONN_ENTRY *conn, unsigned short rid, const char *buffer, int buffer_size)
static int process_ha_start_util_process(CSS_CONN_ENTRY *conn, char *args)
#define COMMDB_HA_NODE_LIST_L
static char * commdb_Arg_ha_deregister_pid
static bool commdb_Arg_ha_start_util_process
#define COMMDB_SHUTDOWN_SERVER_S
static bool commdb_Arg_deact_confirm_no_server
#define COMMDB_DEACT_CONFIRM_NO_SERVER_S
#define COMMDB_HA_PROCESS_LIST_S
static void process_ha_ping_host_info_query(CSS_CONN_ENTRY *conn)
static bool commdb_Arg_halt_shutdown
static bool commdb_Arg_deact_immediately
SIGNAL_HANDLER_FUNCTION os_set_signal_handler(const int sig_no, SIGNAL_HANDLER_FUNCTION sig_handler)
static void process_ha_process_info_query(CSS_CONN_ENTRY *conn, int verbose_yn)
static int process_reconfig_heartbeat(CSS_CONN_ENTRY *conn)
static int return_integer_data(CSS_CONN_ENTRY *conn, unsigned short request_id)
static char * commdb_Arg_ha_deregister_args
#define COMMDB_SHUTDOWN_SERVER_L
#define MSGCAT_CATALOG_UTILS