dtm_worker_detail
2016-09-03 14:27:01 0 举报
dtm_worker_detail是一个用于处理和管理数据中心工作流程的系统。它提供了详细的信息和工具,帮助管理员监控和优化数据中心的工作效率。通过dtm_worker_detail,管理员可以实时查看每个工作节点的状态、任务进度和性能指标,以便及时发现并解决问题。此外,dtm_worker_detail还支持自动化的任务调度和负载均衡,以确保数据中心的稳定运行。它还提供了强大的报表和分析功能,帮助管理员了解数据中心的整体运行情况,并根据需要进行资源调配和优化。总之,dtm_worker_detail是一个功能强大、易于使用的数据中心管理工具,为管理员提供了全面的工作细节和控制能力。
作者其他创作
大纲/内容
if out of order
keep OUT/HUP
GLOBAL_XA_STATE_COMMIT
signal BUILD
if NOT AUTOCOMMIT
insert/push_backnode-vecto perserver query order within server
d
STATE_READ_AUTH_RESULT
client cache_cmds
[save_global_trx_id]LSET dgtid:global_trx_id 1 2(commit)
push_back send_buf
set IN/HUP
if COMMIT
send handshake
IN
STATE_SEND_QUERY
send result
OUT
[save_global_status]EXISTS PREPARE_LOCKLSET xid_status:cur_xid 3 modify_time 4 affected_sids(curr servers) 0 1(prepare)
clear()
accept
LOCAL_XA_STATE_PREPARING
LOCAL_XA_STATE_STARTED
epoll
IN/HUP
wakeup_fdsinsert client-pvs
STATE_READ_QUERY
if prepare lock(todo)
original query
set 0
read query
serverp_vec_self_buf
STATE_CONNECTED_CLIENT
0
if QUERYof MULTI QUERY
STATE_READ_HANDSHAKE
commit_wait_build
XA ENDXA PREPARE
if MULTI QUERY
clientp_vec_last_query_servers
client pvs
[load_consistent_view]GET cur_checkpointHGETALL innodb_gid:checkpoint_xidSETEX checkpoint_xid:cur_xid 5 load[del_occupy_list]DEL checkpoint_xid:cur_xid
worker main
if all prepared
set OUT/HUP
LOCAL_XA_STATE_STARTING
send QUERY
check user/pwd
client sock
STATE_READ_AUTH_RESULTconn_pool_add
setview_map[server's sid] = gtid from db reply(in case of write sql)
if all committed
send XA COMMIT
client pvi
server sock
send XA START
STATE_SEND_HANDSHAKE
read auth resultdirectly
clientp_map_multi_query
reset
if not all committed
read query result
STATE_CONNECTED_SERVER
GLOBAL_XA_STATE_START
BEFORE LAST QUERY
OUT/HUP
client tranx state
1.SET NAMES2.USE DB
add READVIEW for SELECT
LOCAL_XA_STATE_COMMITTED
insert/push_backserver(redundant)to perserver query order across server
FOLLOWING SERVERS
1.SET NAMES2.USE DB3. XA START
handle DDL(todo)
STATE_SEND_AUTH_RESULT
[save_global_status]LSET xid_status:cur_xid 3 modify_time 4 affected_sids(curr servers) 0 0(start)
SQL_XA_START_NUM
server tranx state
if XA START
STATE_READ_QUERY_RESULT
central redis
read auth
loop wakeup_fds
incrclient-query result cntserver-recv query num
getview_map[server]
[get_checkpoint]GET cur_checkpointHGETALL innodb_gid:checkpoint_xid[build_set_checkpoint]cur_checkpoint_gids = HGETALL innodb_gid:cur_checkpointcnt = #cur_checkpoint_gidsHMSET1 innodb_gid:checkpoint cnt/2 cur_xid_sid_map_gtidHMSET1 innodb_gid:checkpoint update_cnt xid_sid_map_gtidINCR checkpoint_countZADD active_checkpoint_set checkpoint_count checkpointSET cur_checkpoint checkpoint
if all local started
LOCAL_XA_STATE_COMMITTING
nothing
if START TRANSACTION
cache set charset
send auth result
set b_c_xid/view_map[this server's sid] from pvi
setview_map[this server's sid] from pvi
[save_global_trx_id]INCR global_trx_idRPUSH dgtid:global_trx_id cur_xid 1(prepare)
XA COMMIT
server query
p_vec_last_query_servers[client-query result cnt]perserve query order
STATE_SEND_AUTH
if AUTOCOMMIT
if not all prepared
FIRST SERVER
LOCAL_XA_STATE_PREPARED
send auth
read handshake
worker redis
every loop
STATE_READ_AUTH
GLOBAL_XA_STATE_PREPARE
send XA END/PREPARE
LAST QUERY
[save_global_status]RPUSH xid_status:cur_xid 0(start) 0 b_c_xid modify_time affected_sids(first server)INCR ref_count:b_c_xidSADD ref_count_set:b_c_xid cur_xid
append all server's vec_self_buf to client-send_bufand then free()
load view_mapbase_checkpoint_xid from central redis
client query
lock redis
cache use db
0 条评论
下一页