zookeeper源码解析--请求处理--Leader.ToBeAppliedRequestProcessor

zookeeper源码解析--请求处理--Leader.ToBeAppliedRequestProcessor,第1张

zookeeper源码解析--请求处理--Leader.ToBeAppliedRequestProcessor Leader.ToBeAppliedRequestProcessor
// 交给下一级处理
next.processRequest(request);
// 请求存在事务头,表示是写请求
if (request.getHdr() != null) 
{
	// zxid
    long zxid = request.getHdr().getZxid();
    // 对toBeApplied进行迭代
    Iterator 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);
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5710492.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存