Leader.ToBeAppliedRequestProcessor
// 交給下一級處理
next.processRequest(request);
// 請求存在事務頭,表示是寫請求
if (request.getHdr() != null)
{
// zxid
long zxid = request.getHdr().getZxid();
// 對toBeApplied進行迭代
Iterator<Proposal> iter = leader.toBeApplied.iterator();
// 獲取當前迭代元素
if (iter.hasNext())
{
// 獲取當前迭代元素
Proposal p = iter.next();
// 如果迭代提議包含請求
// 且 請求zxid==zxid
if (p.request != null && p.request.zxid == zxid)
{
// 從toBeApplied中將其洗掉
iter.remove();
return;
}
}
LOG.error("Committed request not found on toBeApplied: {}", request);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/420011.html
標籤:其他
