CUBRID Engine
latest
|
#include "config.h"
#include <stdio.h>
#include <string.h>
#include <assert.h>
#include "xserver_interface.h"
#include "boot_sr.h"
#include "connection_error.h"
#include "connection_sr.h"
#include "critical_section.h"
#include "event_log.h"
#include "internal_tasks_worker_pool.hpp"
#include "log_impl.h"
#include "memory_alloc.h"
#include "message_catalog.h"
#include "network.h"
#include "network_interface_sr.h"
#include "perf_monitor.h"
#include "query_list.h"
#include "release_string.h"
#include "server_support.h"
#include "system_parameter.h"
#include "tz_support.h"
#include "util_func.h"
#include "tcp.h"
#include "thread_entry.hpp"
#include "thread_manager.hpp"
Go to the source code of this file.
Classes | |
struct | net_request |
Typedefs | |
typedef void(* | net_server_func) (THREAD_ENTRY *thrd, unsigned int rid, char *request, int reqlen) |
Enumerations | |
enum | net_req_act { CHECK_DB_MODIFICATION = 0x0001, CHECK_AUTHORIZATION = 0x0002, SET_DIAGNOSTICS_INFO = 0x0004, IN_TRANSACTION = 0x0008, OUT_TRANSACTION = 0x0010 } |
Functions | |
static void | net_server_init (void) |
static int | net_server_request (THREAD_ENTRY *thread_p, unsigned int rid, int request, int size, char *buffer) |
static int | net_server_conn_down (THREAD_ENTRY *thread_p, CSS_THREAD_ARG arg) |
int | net_server_start (const char *server_name) |
void | net_cleanup_server_queues (unsigned int rid) |
const char * | net_server_request_name (int request) |
Variables | |
static struct net_request | net_Requests [NET_SERVER_REQUEST_END] |
static int | net_Histo_call_count = 0 |
typedef void(* net_server_func) (THREAD_ENTRY *thrd, unsigned int rid, char *request, int reqlen) |
Definition at line 70 of file network_sr.c.
enum net_req_act |
Enumerator | |
---|---|
CHECK_DB_MODIFICATION | |
CHECK_AUTHORIZATION | |
SET_DIAGNOSTICS_INFO | |
IN_TRANSACTION | |
OUT_TRANSACTION |
Definition at line 62 of file network_sr.c.
void net_cleanup_server_queues | ( | unsigned int | rid | ) |
Definition at line 1430 of file network_sr.c.
References css_cleanup_server_queues().
Referenced by stran_server_abort_internal(), and stran_server_commit_internal().
|
static |
Definition at line 1125 of file network_sr.c.
References assert, css_conn_entry::client_id, css_count_transaction_worker_threads(), css_end_server_request(), css_free_conn(), css_is_shutdowning_server(), css_set_thread_info(), logtb_find_thread_by_tran_index_except_me(), logtb_is_interrupted_tran(), logtb_set_tran_index_interrupt(), NET_SERVER_SHUTDOWN, NO_ERROR, NULL, NULL_TRAN_INDEX, pthread_mutex_unlock, ssession_stop_attached_threads(), THREAD_ALLOC_BCB_RESUMED, THREAD_ALLOC_BCB_SUSPENDED, THREAD_CSECT_PROMOTER_RESUMED, THREAD_CSECT_PROMOTER_SUSPENDED, THREAD_CSECT_READER_RESUMED, THREAD_CSECT_READER_SUSPENDED, THREAD_CSECT_WRITER_RESUMED, THREAD_CSECT_WRITER_SUSPENDED, THREAD_CSS_QUEUE_RESUMED, THREAD_CSS_QUEUE_SUSPENDED, THREAD_DWB_QUEUE_RESUMED, THREAD_DWB_QUEUE_SUSPENDED, thread_get_thread_entry_info(), THREAD_HEAP_CLSREPR_RESUMED, THREAD_HEAP_CLSREPR_SUSPENDED, THREAD_JOB_QUEUE_RESUMED, THREAD_JOB_QUEUE_SUSPENDED, thread_lock_entry(), THREAD_LOCK_RESUMED, THREAD_LOCK_SUSPENDED, THREAD_LOGWR_RESUMED, THREAD_LOGWR_SUSPENDED, THREAD_PGBUF_RESUMED, THREAD_PGBUF_SUSPENDED, THREAD_RESUME_DUE_TO_INTERRUPT, THREAD_RESUME_DUE_TO_SHUTDOWN, THREAD_RESUME_NONE, thread_sleep(), thread_unlock_entry(), thread_wakeup_already_had_mutex(), cubthread::entry::TS_CHECK, cubthread::entry::TS_RUN, and xboot_unregister_client().
Referenced by net_server_start().
|
static |
Definition at line 100 of file network_sr.c.
References net_request::action_attribute, CHECK_AUTHORIZATION, CHECK_DB_MODIFICATION, net_request::elapsed_time, i, IN_TRANSACTION, net_request::name, net_Histo_call_count, net_Requests, NET_SERVER_ACL_DUMP, NET_SERVER_ACL_RELOAD, NET_SERVER_AU_DOES_ACTIVE_USER_EXIST, NET_SERVER_AU_LOGIN_USER, NET_SERVER_BO_ADD_VOLEXT, NET_SERVER_BO_BACKUP, NET_SERVER_BO_CHANGE_HA_MODE, NET_SERVER_BO_CHECK_DBCONSISTENCY, NET_SERVER_BO_COMPACT_DB, NET_SERVER_BO_COMPACT_DB_START, NET_SERVER_BO_COMPACT_DB_STOP, NET_SERVER_BO_FIND_LAST_PERM, NET_SERVER_BO_FIND_LAST_TEMP, NET_SERVER_BO_FIND_NPERM_VOLS, NET_SERVER_BO_FIND_NTEMP_VOLS, NET_SERVER_BO_GET_LOCALES_INFO, NET_SERVER_BO_HEAP_COMPACT, NET_SERVER_BO_INIT_SERVER, NET_SERVER_BO_NOTIFY_HA_LOG_APPLIER_STATE, NET_SERVER_BO_REGISTER_CLIENT, NET_SERVER_BO_UNREGISTER_CLIENT, NET_SERVER_BTREE_ADDINDEX, NET_SERVER_BTREE_CLASS_UNIQUE_TEST, NET_SERVER_BTREE_DELINDEX, NET_SERVER_BTREE_FIND_MULTI_UNIQUES, NET_SERVER_BTREE_FIND_UNIQUE, NET_SERVER_BTREE_GET_KEY_TYPE, NET_SERVER_BTREE_GET_STATISTICS, NET_SERVER_BTREE_LOADINDEX, NET_SERVER_CHKSUM_REPL, NET_SERVER_CSS_DUMP_CS_STAT, NET_SERVER_CSS_KILL_OR_INTERRUPT_TRANSACTION, NET_SERVER_CSS_KILL_TRANSACTION, NET_SERVER_CT_CHECK_REP_DIR, NET_SERVER_DISK_FREEPGS, NET_SERVER_DISK_REMARKS, NET_SERVER_DISK_TOTALPGS, NET_SERVER_DISK_VLABEL, NET_SERVER_ES_COPY_FILE, NET_SERVER_ES_CREATE_FILE, NET_SERVER_ES_DELETE_FILE, NET_SERVER_ES_GET_FILE_SIZE, NET_SERVER_ES_READ_FILE, NET_SERVER_ES_RENAME_FILE, NET_SERVER_ES_WRITE_FILE, NET_SERVER_FILE_APPLY_TDE_TO_CLASS_FILES, NET_SERVER_GET_MVCC_SNAPSHOT, NET_SERVER_HEAP_CREATE, NET_SERVER_HEAP_DESTROY, NET_SERVER_HEAP_DESTROY_WHEN_NEW, NET_SERVER_HEAP_GET_CLASS_NOBJS_AND_NPAGES, NET_SERVER_HEAP_HAS_INSTANCE, NET_SERVER_HEAP_RECLAIM_ADDRESSES, NET_SERVER_JSP_GET_SERVER_PORT, NET_SERVER_LC_ASSIGN_OID, NET_SERVER_LC_ASSIGN_OID_BATCH, NET_SERVER_LC_CHECK_FK_VALIDITY, NET_SERVER_LC_DELETE_CLASSNAME, NET_SERVER_LC_DEMOTE_CLASS_LOCK, NET_SERVER_LC_DOESEXIST, NET_SERVER_LC_FETCH, NET_SERVER_LC_FETCH_ALLREFS_LOCKSET, NET_SERVER_LC_FETCH_LOCKHINT_CLASSES, NET_SERVER_LC_FETCH_LOCKSET, NET_SERVER_LC_FETCHALL, NET_SERVER_LC_FIND_CLASSOID, NET_SERVER_LC_FIND_LOCKHINT_CLASSOIDS, NET_SERVER_LC_FORCE, NET_SERVER_LC_GET_CLASS, NET_SERVER_LC_NOTIFY_ISOLATION_INCONS, NET_SERVER_LC_REDISTRIBUTE_PARTITION_DATA, NET_SERVER_LC_REM_CLASS_FROM_INDEX, NET_SERVER_LC_RENAME_CLASSNAME, NET_SERVER_LC_REPL_FORCE, NET_SERVER_LC_RESERVE_CLASSNAME, NET_SERVER_LC_RESERVE_CLASSNAME_GET_OID, NET_SERVER_LC_UPGRADE_INSTANCES_DOMAIN, NET_SERVER_LD_DESTROY, NET_SERVER_LD_FETCH_STATUS, NET_SERVER_LD_INIT, NET_SERVER_LD_INSTALL_CLASS, NET_SERVER_LD_INTERRUPT, NET_SERVER_LD_LOAD_BATCH, NET_SERVER_LD_UPDATE_STATS, NET_SERVER_LK_DUMP, NET_SERVER_LOCK_RR, NET_SERVER_LOG_ADD_LOB_LOCATOR, NET_SERVER_LOG_CHANGE_STATE_OF_LOCATOR, NET_SERVER_LOG_CHECKPOINT, NET_SERVER_LOG_DROP_LOB_LOCATOR, NET_SERVER_LOG_DUMP_STAT, NET_SERVER_LOG_DUMP_TRANTB, NET_SERVER_LOG_FIND_LOB_LOCATOR, NET_SERVER_LOG_GETPACK_TRANTB, NET_SERVER_LOG_RESET_ISOLATION, NET_SERVER_LOG_RESET_WAIT_MSECS, NET_SERVER_LOG_SET_INTERRUPT, NET_SERVER_LOG_SET_SUPPRESS_REPL_ON_TRANSACTION, NET_SERVER_LOGWR_GET_LOG_PAGES, NET_SERVER_LS_GET_LIST_FILE_PAGE, NET_SERVER_MNT_SERVER_COPY_GLOBAL_STATS, NET_SERVER_MNT_SERVER_COPY_STATS, NET_SERVER_MNT_SERVER_START_STATS, NET_SERVER_MNT_SERVER_STOP_STATS, NET_SERVER_PING, NET_SERVER_PRM_DUMP_PARAMETERS, NET_SERVER_PRM_GET_FORCE_PARAMETERS, NET_SERVER_PRM_GET_PARAMETERS, NET_SERVER_PRM_SET_PARAMETERS, NET_SERVER_QM_QUERY_DROP_ALL_PLANS, NET_SERVER_QM_QUERY_DUMP_CACHE, NET_SERVER_QM_QUERY_DUMP_PLANS, NET_SERVER_QM_QUERY_END, NET_SERVER_QM_QUERY_EXECUTE, NET_SERVER_QM_QUERY_PREPARE, NET_SERVER_QM_QUERY_PREPARE_AND_EXECUTE, NET_SERVER_QPROC_GET_CURRENT_VALUE, NET_SERVER_QPROC_GET_NEXT_VALUE, NET_SERVER_QPROC_GET_SERVER_INFO, NET_SERVER_QPROC_GET_SYS_TIMESTAMP, NET_SERVER_QST_GET_STATISTICS, NET_SERVER_QST_UPDATE_ALL_STATISTICS, NET_SERVER_QST_UPDATE_STATISTICS, NET_SERVER_REPL_INFO, NET_SERVER_REPL_LOG_GET_APPEND_LSA, NET_SERVER_SERIAL_DECACHE, NET_SERVER_SES_CHECK_SESSION, NET_SERVER_SES_CREATE_PREPARED_STATEMENT, NET_SERVER_SES_DELETE_PREPARED_STATEMENT, NET_SERVER_SES_DROP_SESSION_VARIABLES, NET_SERVER_SES_END_SESSION, NET_SERVER_SES_GET_LAST_INSERT_ID, NET_SERVER_SES_GET_PREPARED_STATEMENT, NET_SERVER_SES_GET_ROW_COUNT, NET_SERVER_SES_GET_SESSION_VARIABLE, NET_SERVER_SES_RESET_CUR_INSERT_ID, NET_SERVER_SES_SET_ROW_COUNT, NET_SERVER_SES_SET_SESSION_VARIABLES, NET_SERVER_SHUTDOWN, NET_SERVER_SPACEDB, NET_SERVER_TDE_CHANGE_MK_ON_SERVER, NET_SERVER_TDE_GET_DATA_KEYS, NET_SERVER_TDE_GET_MK_FILE_PATH, NET_SERVER_TDE_GET_MK_INFO, NET_SERVER_TM_ISBLOCKED, NET_SERVER_TM_LOCAL_TRANSACTION_ID, NET_SERVER_TM_SERVER_2PC_ATTACH_GT, NET_SERVER_TM_SERVER_2PC_PREPARE, NET_SERVER_TM_SERVER_2PC_PREPARE_GT, NET_SERVER_TM_SERVER_2PC_RECOVERY_PREPARED, NET_SERVER_TM_SERVER_2PC_START, NET_SERVER_TM_SERVER_ABORT, NET_SERVER_TM_SERVER_COMMIT, NET_SERVER_TM_SERVER_END_TOPOP, NET_SERVER_TM_SERVER_GET_GTRINFO, NET_SERVER_TM_SERVER_HAS_UPDATED, NET_SERVER_TM_SERVER_ISACTIVE_AND_HAS_UPDATED, NET_SERVER_TM_SERVER_PARTIAL_ABORT, NET_SERVER_TM_SERVER_SAVEPOINT, NET_SERVER_TM_SERVER_SET_GTRINFO, NET_SERVER_TM_SERVER_START_TOPOP, NET_SERVER_TM_WAIT_SERVER_ACTIVE_TRANS, NET_SERVER_TZ_GET_CHECKSUM, NET_SERVER_VACUUM, NET_SERVER_VACUUM_DUMP, netsr_spacedb(), NULL, OUT_TRANSACTION, net_request::processing_function, net_request::request_count, sacl_dump(), sacl_reload(), sboot_add_volume_extension(), sboot_backup(), sboot_change_ha_mode(), sboot_check_db_consistency(), sboot_compact_db(), sboot_compact_start(), sboot_compact_stop(), sboot_find_last_permanent(), sboot_find_last_temp(), sboot_find_number_permanent_volumes(), sboot_find_number_temp_volumes(), sboot_get_locales_info(), sboot_get_timezone_checksum(), sboot_heap_compact(), sboot_initialize_server(), sboot_notify_ha_log_applier_state(), sboot_notify_unregister_client(), sboot_register_client(), sbtree_add_index(), sbtree_class_test_unique(), sbtree_delete_index(), sbtree_find_multi_uniques(), sbtree_find_unique(), sbtree_get_key_type(), sbtree_get_statistics(), sbtree_load_index(), schksum_insert_repl_log_and_demote_table_lock(), sct_check_rep_dir(), sdk_freepgs(), sdk_remarks(), sdk_totalpgs(), sdk_vlabel(), server_ping(), ses_posix_copy_file(), ses_posix_create_file(), ses_posix_delete_file(), ses_posix_get_file_size(), ses_posix_read_file(), ses_posix_rename_file(), ses_posix_write_file(), SET_DIAGNOSTICS_INFO, sfile_apply_tde_to_class_files(), shf_create(), shf_destroy(), shf_destroy_when_new(), shf_get_class_num_objs_and_pages(), shf_has_instance(), shf_heap_reclaim_addresses(), sjsp_get_server_port(), sloaddb_destroy(), sloaddb_fetch_status(), sloaddb_init(), sloaddb_install_class(), sloaddb_interrupt(), sloaddb_load_batch(), sloaddb_update_stats(), slocator_assign_oid(), slocator_assign_oid_batch(), slocator_check_fk_validity(), slocator_delete_class_name(), slocator_demote_class_lock(), slocator_does_exist(), slocator_fetch(), slocator_fetch_all(), slocator_fetch_all_reference_lockset(), slocator_fetch_lockhint_classes(), slocator_fetch_lockset(), slocator_find_class_oid(), slocator_find_lockhint_class_oids(), slocator_force(), slocator_get_class(), slocator_get_reserved_class_name_oid(), slocator_notify_isolation_incons(), slocator_redistribute_partition_data(), slocator_remove_class_from_index(), slocator_rename_class_name(), slocator_repl_force(), slocator_reserve_classnames(), slocator_upgrade_instances_domain(), slock_dump(), slog_add_lob_locator(), slog_change_state_of_locator(), slog_checkpoint(), slog_drop_lob_locator(), slog_find_lob_locator(), slogin_user(), slogpb_dump_stat(), slogtb_does_active_user_exist(), slogtb_dump_trantable(), slogtb_get_mvcc_snapshot(), slogtb_get_pack_tran_table(), slogtb_reset_isolation(), slogtb_reset_wait_msecs(), slogtb_set_interrupt(), slogtb_set_suppress_repl_on_transaction(), slogwr_get_log_pages(), smnt_server_copy_global_stats(), smnt_server_copy_stats(), smnt_server_start_stats(), smnt_server_stop_stats(), sprm_server_change_parameters(), sprm_server_dump_parameters(), sprm_server_get_force_parameters(), sprm_server_obtain_parameters(), sqfile_get_list_file_page(), sqmgr_drop_all_query_plans(), sqmgr_dump_query_cache(), sqmgr_dump_query_plans(), sqmgr_end_query(), sqmgr_execute_query(), sqmgr_prepare_and_execute_query(), sqmgr_prepare_query(), sqp_get_server_info(), sqp_get_sys_timestamp(), sqst_server_get_statistics(), sqst_update_all_statistics(), sqst_update_statistics(), srepl_log_get_append_lsa(), srepl_set_info(), sserial_decache(), sserial_get_current_value(), sserial_get_next_value(), ssession_create_prepared_statement(), ssession_delete_prepared_statement(), ssession_drop_session_variables(), ssession_end_session(), ssession_find_or_create_session(), ssession_get_last_insert_id(), ssession_get_prepared_statement(), ssession_get_row_count(), ssession_get_session_variable(), ssession_reset_cur_insert_id(), ssession_set_row_count(), ssession_set_session_variables(), stde_change_mk_on_server(), stde_get_data_keys(), stde_get_mk_file_path(), stde_get_mk_info(), sthread_dump_cs_stat(), sthread_kill_or_interrupt_tran(), sthread_kill_tran_index(), stran_get_local_transaction_id(), stran_is_blocked(), stran_lock_rep_read(), stran_server_2pc_attach_global_tran(), stran_server_2pc_prepare(), stran_server_2pc_prepare_global_tran(), stran_server_2pc_recovery_prepared(), stran_server_2pc_start(), stran_server_abort(), stran_server_commit(), stran_server_end_topop(), stran_server_get_global_tran_info(), stran_server_has_updated(), stran_server_is_active_and_has_updated(), stran_server_partial_abort(), stran_server_savepoint(), stran_server_set_global_tran_info(), stran_server_start_topop(), stran_wait_server_active_trans(), svacuum(), svacuum_dump(), net_request::total_size_received, and net_request::total_size_sent.
Referenced by net_server_start().
|
static |
Definition at line 980 of file network_sr.c.
References _er_log_debug(), net_request::action_attribute, ARG_FILE_LINE, assert, CHECK_AUTHORIZATION, CHECK_DB_MODIFICATION, CHECK_MODIFICATION_NO_RETURN, CONN_OPEN, CSS_NO_ERRORS, css_send_abort_to_client(), CSS_UNPLANNED_SHUTDOWN, db_clear_private_heap(), ER_AU_DBA_ONLY, ER_ERROR_SEVERITY, er_log_debug, ER_NET_CANT_ALLOC_BUFFER, ER_NET_SERVER_SHUTDOWN, ER_NET_UNKNOWN_SERVER_REQ, er_set(), ER_WARNING_SEVERITY, css_conn_entry::fd, free_and_init, IN_TRANSACTION, css_conn_entry::in_transaction, css_conn_entry::invalidate_snapshot, IS_INVALID_SOCKET, logtb_am_i_dba_client(), logtb_find_client_type(), logtb_has_updated(), logtb_invalidate_snapshot_data(), net_request::name, net_Requests, NET_SERVER_PING_WITH_HANDSHAKE, NET_SERVER_REQUEST_END, NET_SERVER_SHUTDOWN, NET_SERVER_TM_SERVER_COMMIT, NO_ERROR, NULL, OUT_TRANSACTION, perfmon_inc_stat(), pgbuf_unfix_all(), prm_get_bool_value(), PRM_ID_TRACK_REQUESTS, net_request::processing_function, PSTAT_NET_NUM_REQUESTS, return_error_to_client(), server_ping_with_handshake(), and css_conn_entry::status.
const char* net_server_request_name | ( | int | request | ) |
Definition at line 1441 of file network_sr.c.
References net_request::name, net_Requests, NET_SERVER_PING_WITH_HANDSHAKE, NET_SERVER_REQUEST_END, and NET_SERVER_REQUEST_START.
Referenced by showstmt_array_end_scan().
int net_server_start | ( | const char * | server_name | ) |
Definition at line 1292 of file network_sr.c.
References ARG_FILE_LINE, assert, boot_restart_server(), csect_finalize_static_critical_sections(), csect_initialize_static_critical_sections(), css_final_conn_list(), css_free_user_access_status(), css_init(), css_initialize_server_interfaces(), css_pack_server_name(), css_windows_shutdown(), css_windows_startup(), ER_ALL_FINAL, er_errid(), ER_ERROR_SEVERITY, er_final(), er_init(), er_msg(), ER_NET_NO_MASTER, ER_NEVER_EXIT, er_set(), ER_THREAD_FINAL, error(), cubthread::internal_tasks_worker_pool::finalize(), cubthread::finalize(), free_and_init, cubthread::internal_tasks_worker_pool::initialize(), cubthread::initialize(), msgcat_init(), net_server_conn_down(), net_server_init(), NO_ERROR, NULL, PRINT_AND_LOG_ERR_MSG, prm_get_integer_value(), PRM_ID_ER_EXIT_ASK, PRM_ID_TCP_PORT_ID, sync_finalize_sync_stats(), sync_initialize_sync_stats(), SYSPRM_LOAD_ALL, sysprm_load_and_init(), sysprm_set_er_log_file(), thread_get_thread_entry_info(), tz_load(), and xboot_shutdown_server().
Referenced by main().
|
static |
Definition at line 83 of file network_sr.c.
Referenced by net_server_init().
|
static |
Definition at line 81 of file network_sr.c.
Referenced by net_server_init(), net_server_request(), and net_server_request_name().