1.請求超時處理 執行緒 執行緒池 執行contextpreservingrunnable::run
執行緒 執行緒池 執行contextpreservingrunnable::run
asyncretentionleasesynctask::run
indexservice.syncretentionleases()
indexshard::rununderprimarypermit
indexshard::syncretentionleases
replicationtracker.getretentionleases 獲得 索引列表
如果索引沒有過期retentionleasesyncer::sync, retentionleasesyncaction::execute,如果索引過期 retentionleasesyncer::backgroundsync,retentionleasebackgroundsyncaction::execute
transportreplicationaction::reroutephase::run
1.執行緒池定時排程followerchecker::handlewakeup
updatetask 任務加入 prioritizedesthreadpoolexecutor執行緒池
functionupdatefunction 生成新集群狀態資訊
觸發條件:
indicesstore::shardactiveresponsehandler::allnodesresponded 集群狀態版本不是最新的,刪除 索引 shardid 資料
elasticsearch.init
bootstrap.init
bootstrap.start
node.start
coordinator.startinitialjoin
coordinator.becomecandidate
coordinator.electionschedule***ctory::startelectionscheduler
electionscheduler.schedulenextelection
選舉任務加入延遲排程執行緒池
選舉任務執行選舉,並遞迴呼叫electionscheduler.schedulenextelection,選舉重複週期不間斷
選舉過程:
5.1 a 節點:只有當candidate 模式節點才參與選舉
5.2 發現peerfinder 發現前驅節點
5.2 prevotecollector 對每個前驅節點發 internal:cluster/request_pre_vote prevoterequest 請求
5.4 b 節點:channel.channelread 讀取訊息tcptransport::messagereceived,訊息中獲取action ,tcptransport從註冊的requesthandlerregistry 中獲得請求處理,器,將處理器,請求,通道作為任務引數,提交執行緒池;
5.5 從請求中獲得請求節點已的前驅節點,並依次做偵測(peerfinder::startprobe,出去本地節點),並返回連線成功的節點
5.6 a節點在接收到b節點返回的響應後,prevotecollector::handleprevoteresponse
5.7 coordinator::startelection 開始選舉,向每個前驅節點傳送action:internal:cluster/coordination/start_join startjoinrequest請求
5.8 coordinator::handlejoinrequest
channelhandler::channelread 通道讀取訊息
transport.inboundmessage
transport 從訊息中獲得請求requestid
transport 中 responsehandlers中獲得對應的響應處理器
transport 開啟執行緒 ,使用獲得的 響應處理器 處理返回的應答資訊
注:** 表示待補充
es6學習(持續更新)
剛開始學習es6。本文件主要對es6的基礎語法進行歸納首先,切記要 use strict 宣告 1.let宣告 let a 1 let a 2 報錯console.log b 報錯,而用var宣告變數為undefined let b 2 for let i 0 i 9 i console.log i...
es6 陣列 持續更新
1 map 對映 乙個對乙個 如 12,56,99,86,45,91 對映成 不及格,不及格,及格,及格,不及格,及格 引數 item 當前元素值 index 當前元素索引 arr 原陣列2 reduce 彙總 彙總出來乙個 3 filter 過濾 4 foreach 迴圈第乙個引數是遍歷的陣列內容...
ES6學習,持續更新!!!
mdn 解構賦值 mdn export es6 import export用法 注意 export from src main 含義是 匯出其他模組的匯出 mdn import es6 import export用法 react import 配置路徑別名 簡化import component的方式...