File master_heartbeat.h
FileList > cubrid > src > executables > master_heartbeat.h
Go to the source code of this file
#include "heartbeat.h"
#include "log_lsa.hpp"
#include "master_util.h"
#include "porting.h"
#include "system_parameter.h"
Classes
Public Types
Public Attributes
Public Functions
Macros
Public Types Documentation
typedef HB_CLUSTER
typedef struct hb_cluster HB_CLUSTER;
enum HB_CLUSTER_JOB
enum HB_CLUSTER_JOB {
HB_CJOB_INIT = 0,
HB_CJOB_HEARTBEAT = 1,
HB_CJOB_CALC_SCORE = 2,
HB_CJOB_CHECK_PING = 3,
HB_CJOB_FAILOVER = 4,
HB_CJOB_FAILBACK = 5,
HB_CJOB_CHECK_VALID_PING_SERVER = 6,
HB_CJOB_DEMOTE = 7,
HB_CJOB_MAX
};
typedef HB_CLUSTER_JOB_ARG
typedef struct hb_cluster_job_arg HB_CLUSTER_JOB_ARG;
enum HB_HOST_CHECK_RESULT
enum HB_HOST_CHECK_RESULT {
HB_HC_ELIGIBLE_LOCAL,
HB_HC_ELIGIBLE_REMOTE,
HB_HC_UNAUTHORIZED,
HB_HC_FAILED
};
typedef HB_JOB
typedef struct hb_job HB_JOB;
typedef HB_JOB_ARG
typedef union hb_job_arg HB_JOB_ARG;
typedef HB_JOB_ENTRY
typedef struct hb_job_entry HB_JOB_ENTRY;
typedef HB_JOB_FUNC
typedef void(* HB_JOB_FUNC) (HB_JOB_ARG *);
typedef HB_LIST
typedef struct hb_list HB_LIST;
typedef HB_NODE_ENTRY
typedef struct hb_node_entry HB_NODE_ENTRY;
enum HB_NOLOG_REASON
enum HB_NOLOG_REASON {
HB_NOLOG_DEMOTE_ON_DISK_FAIL,
HB_NOLOG_REMOTE_STOP,
HB_NOLOG_MAX = HB_NOLOG_REMOTE_STOP
};
typedef HB_PING_HOST_ENTRY
typedef struct hb_ping_host_entry HB_PING_HOST_ENTRY;
enum HB_PING_RESULT
enum HB_PING_RESULT {
HB_PING_UNKNOWN = -1,
HB_PING_SUCCESS = 0,
HB_PING_USELESS_HOST = 1,
HB_PING_SYS_ERR = 2,
HB_PING_FAILURE = 3
};
enum HB_PROC_STATE
enum HB_PROC_STATE {
HB_PSTATE_UNKNOWN = 0,
HB_PSTATE_DEAD = 1,
HB_PSTATE_DEREGISTERED = 2,
HB_PSTATE_STARTED = 3,
HB_PSTATE_NOT_REGISTERED = 4,
HB_PSTATE_REGISTERED = 5,
HB_PSTATE_REGISTERED_AND_STANDBY = HB_PSTATE_REGISTERED,
HB_PSTATE_REGISTERED_AND_TO_BE_STANDBY = 6,
HB_PSTATE_REGISTERED_AND_ACTIVE = 7,
HB_PSTATE_REGISTERED_AND_TO_BE_ACTIVE = 8,
HB_PSTATE_MAX
};
typedef HB_RESOURCE
typedef struct hb_resource HB_RESOURCE;
enum HB_RESOURCE_JOB
enum HB_RESOURCE_JOB {
HB_RJOB_PROC_START = 0,
HB_RJOB_PROC_DEREG = 1,
HB_RJOB_CONFIRM_START = 2,
HB_RJOB_CONFIRM_DEREG = 3,
HB_RJOB_CHANGE_MODE = 4,
HB_RJOB_DEMOTE_START_SHUTDOWN = 5,
HB_RJOB_DEMOTE_CONFIRM_SHUTDOWN = 6,
HB_RJOB_CLEANUP_ALL = 7,
HB_RJOB_CONFIRM_CLEANUP_ALL = 8,
HB_RJOB_MAX
};
typedef HB_RESOURCE_JOB_ARG
typedef struct hb_resource_job_arg HB_RESOURCE_JOB_ARG;
typedef HB_UI_NODE_ENTRY
typedef struct hb_ui_node_entry HB_UI_NODE_ENTRY;
enum HB_VALID_RESULT
enum HB_VALID_RESULT {
HB_VALID_NO_ERROR = 0,
HB_VALID_UNIDENTIFIED_NODE = 1,
HB_VALID_GROUP_NAME_MISMATCH = 2,
HB_VALID_IP_ADDR_MISMATCH = 3,
HB_VALID_CANNOT_RESOLVE_HOST = 4
};
union hb_job_arg
Public Attributes Documentation
variable cluster_Jobs
variable hb_Cluster
bool hb_Deactivate_immediately;
variable hb_Resource
HB_RESOURCE* hb_Resource;
variable resource_Jobs
Public Functions Documentation
function hb_activate_heartbeat
int hb_activate_heartbeat (
void
)
function hb_check_request_eligibility
int hb_check_request_eligibility (
SOCKET sd
)
function hb_cleanup_conn_and_start_process
void hb_cleanup_conn_and_start_process (
CSS_CONN_ENTRY * conn,
SOCKET sfd
)
function hb_cluster_shutdown_and_cleanup
void hb_cluster_shutdown_and_cleanup (
void
)
function hb_deactivate_heartbeat
int hb_deactivate_heartbeat (
void
)
function hb_deregister_by_args
void hb_deregister_by_args (
char * args
)
function hb_deregister_by_pid
void hb_deregister_by_pid (
pid_t pid
)
function hb_disable_er_log
void hb_disable_er_log (
int reason,
const char * msg_fmt,
...
)
function hb_enable_er_log
void hb_enable_er_log (
void
)
function hb_finish_deactivate_server_info
void hb_finish_deactivate_server_info (
void
)
function hb_get_admin_info_string
void hb_get_admin_info_string (
char ** str
)
function hb_get_deactivating_server_count
int hb_get_deactivating_server_count (
void
)
function hb_get_node_info_string
void hb_get_node_info_string (
char ** str,
bool verbose_yn
)
function hb_get_ping_host_info_string
void hb_get_ping_host_info_string (
char ** str
)
function hb_get_process_info_string
void hb_get_process_info_string (
char ** str,
bool verbose_yn
)
function hb_get_tcp_ping_host_info_string
void hb_get_tcp_ping_host_info_string (
char ** str
)
function hb_is_deactivation_ready
bool hb_is_deactivation_ready (
void
)
function hb_is_deactivation_started
bool hb_is_deactivation_started (
void
)
function hb_is_hang_process
bool hb_is_hang_process (
int sfd
)
function hb_is_registered_process
bool hb_is_registered_process (
CSS_CONN_ENTRY * conn,
char * args
)
function hb_kill_all_heartbeat_process
void hb_kill_all_heartbeat_process (
char ** str
)
function hb_master_init
int hb_master_init (
void
)
function hb_prepare_deactivate_heartbeat
int hb_prepare_deactivate_heartbeat (
void
)
function hb_reconfig_heartbeat
void hb_reconfig_heartbeat (
char ** str
)
function hb_register_new_process
void hb_register_new_process (
CSS_CONN_ENTRY * conn
)
function hb_resource_receive_changemode
void hb_resource_receive_changemode (
CSS_CONN_ENTRY * conn
)
function hb_resource_receive_get_eof
void hb_resource_receive_get_eof (
CSS_CONN_ENTRY * conn
)
function hb_resource_shutdown_and_cleanup
void hb_resource_shutdown_and_cleanup (
void
)
function hb_return_proc_state_by_fd
int hb_return_proc_state_by_fd (
int sfd
)
function hb_start_deactivate_server_info
void hb_start_deactivate_server_info (
void
)
function hb_start_util_process
int hb_start_util_process (
char * args
)
Macro Definition Documentation
define HB_BUFFER_SZ
#define HB_BUFFER_SZ `(4096)`
define HB_CMD_ACTIVATE_STR
#define HB_CMD_ACTIVATE_STR `"activate"`
define HB_CMD_DEACTIVATE_STR
#define HB_CMD_DEACTIVATE_STR `"deactivate"`
define HB_CMD_DEREGISTER_STR
#define HB_CMD_DEREGISTER_STR `"deregister"`
define HB_CMD_RELOAD_STR
#define HB_CMD_RELOAD_STR `"reload"`
define HB_CMD_UTIL_START_STR
#define HB_CMD_UTIL_START_STR `"util process start"`
define HB_GET_ELAPSED_TIME
#define HB_GET_ELAPSED_TIME (
end_time,
start_time
) `/* multi line expression */`
define HB_IPV4_STR_LEN
#define HB_IPV4_STR_LEN `(16)`
define HB_IS_INITIALIZED_TIME
#define HB_IS_INITIALIZED_TIME (
arg_time
) `(( arg_time.tv_sec == 0 && arg_time.tv_usec == 0) ? 1 : 0)`
define HB_MAX_CHANGEMODE_DIFF_TO_KILL
#define HB_MAX_CHANGEMODE_DIFF_TO_KILL `(24)`
define HB_MAX_CHANGEMODE_DIFF_TO_TERM
#define HB_MAX_CHANGEMODE_DIFF_TO_TERM `(12)`
define HB_MAX_NUM_NODES
#define HB_MAX_NUM_NODES `(8)`
define HB_MAX_NUM_RESOURCE_PROC
#define HB_MAX_NUM_RESOURCE_PROC `(16)`
define HB_MAX_PING_CHECK
#define HB_MAX_PING_CHECK `(3)`
define HB_MAX_WAIT_FOR_NEW_MASTER
#define HB_MAX_WAIT_FOR_NEW_MASTER `(60)`
define HB_NODE_SCORE_MASTER
#define HB_NODE_SCORE_MASTER `0x8000`
define HB_NODE_SCORE_SLAVE
#define HB_NODE_SCORE_SLAVE `0x0000`
define HB_NODE_SCORE_TO_BE_MASTER
#define HB_NODE_SCORE_TO_BE_MASTER `0xF000`
define HB_NODE_SCORE_UNKNOWN
#define HB_NODE_SCORE_UNKNOWN `0x7FFF`
define HB_PING_FAILURE_STR
#define HB_PING_FAILURE_STR `"FAILURE"`
define HB_PING_STR_SIZE
#define HB_PING_STR_SIZE `(7)`
define HB_PING_SUCCESS_STR
#define HB_PING_SUCCESS_STR `"SUCCESS"`
define HB_PING_SYS_ERR_STR
#define HB_PING_SYS_ERR_STR `"ERROR"`
define HB_PING_UNKNOWN_STR
#define HB_PING_UNKNOWN_STR `"UNKNOWN"`
define HB_PING_USELESS_HOST_STR
#define HB_PING_USELESS_HOST_STR `"SKIPPED"`
define HB_PROC_RECOVERY_DELAY_TIME
#define HB_PROC_RECOVERY_DELAY_TIME `(30* 1000) /* milli -second */`
define HB_PSTATE_DEAD_STR
#define HB_PSTATE_DEAD_STR `"dead"`
define HB_PSTATE_DEREGISTERED_STR
#define HB_PSTATE_DEREGISTERED_STR `"deregistered"`
define HB_PSTATE_NOT_REGISTERED_STR
#define HB_PSTATE_NOT_REGISTERED_STR `"not_registered"`
define HB_PSTATE_REGISTERED_AND_ACTIVE_STR
#define HB_PSTATE_REGISTERED_AND_ACTIVE_STR `"registered_and_active"`
define HB_PSTATE_REGISTERED_AND_STANDBY_STR
#define HB_PSTATE_REGISTERED_AND_STANDBY_STR `"registered_and_standby"`
define HB_PSTATE_REGISTERED_AND_TO_BE_ACTIVE_STR
#define HB_PSTATE_REGISTERED_AND_TO_BE_ACTIVE_STR `"registered_and_to_be_active"`
define HB_PSTATE_REGISTERED_AND_TO_BE_STANDBY_STR
#define HB_PSTATE_REGISTERED_AND_TO_BE_STANDBY_STR `"registered_and_to_be_standby"`
define HB_PSTATE_REGISTERED_STR
#define HB_PSTATE_REGISTERED_STR `"registered"`
define HB_PSTATE_STARTED_STR
#define HB_PSTATE_STARTED_STR `"started"`
define HB_PSTATE_STR_SZ
#define HB_PSTATE_STR_SZ `(32)`
define HB_PSTATE_UNKNOWN_STR
#define HB_PSTATE_UNKNOWN_STR `"unknown"`
define HB_REPLICA_PRIORITY
#define HB_REPLICA_PRIORITY `0x7FFF`
define HB_RESULT_FAILURE_STR
#define HB_RESULT_FAILURE_STR `"Failure"`
define HB_RESULT_SUCCESS_STR
#define HB_RESULT_SUCCESS_STR `"Success"`
define HB_UI_NODE_CACHE_TIME_IN_MSECS
#define HB_UI_NODE_CACHE_TIME_IN_MSECS `(60 * 1000)`
define HB_UI_NODE_CLEANUP_TIME_IN_MSECS
#define HB_UI_NODE_CLEANUP_TIME_IN_MSECS `(3600 * 1000)`
define HB_VALID_CANNOT_RESOLVE_HOST_STR
#define HB_VALID_CANNOT_RESOLVE_HOST_STR `"cannot_resolve_host_name"`
define HB_VALID_GROUP_NAME_MISMATCH_STR
#define HB_VALID_GROUP_NAME_MISMATCH_STR `"group_name_mismatch"`
define HB_VALID_IP_ADDR_MISMATCH_STR
#define HB_VALID_IP_ADDR_MISMATCH_STR `"ip_addr_mismatch"`
define HB_VALID_NO_ERROR_STR
#define HB_VALID_NO_ERROR_STR `"no_error"`
define HB_VALID_UNIDENTIFIED_NODE_STR
#define HB_VALID_UNIDENTIFIED_NODE_STR `"unidentified_node"`
The documentation for this class was generated from the following file cubrid/src/executables/master_heartbeat.h