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
build(todo)
server Ap_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
client pvi
server A 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 1(prepare)
SQL_XA_START_NUM
server A 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]
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 A 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
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 条评论
下一页