如何解析zk中的ToBeAppliedRequestProcessor
更新:HHH   时间:2023-1-7


这期内容当中小编将会给大家带来有关如何解析zk中的ToBeAppliedRequestProcessor,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

ToBeAppliedRequestProcessor在Leader中

在已处理事务和最后处理事务处理器之间,处理器链上下一个是FinalRequestProcessor

public void processRequest(Request request) throws RequestProcessorException {
    next.processRequest(request);

    // The only requests that should be on toBeApplied are write
    // requests, for which we will have a hdr. We can't simply use
    // request.zxid here because that is set on read requests to equal
    // the zxid of the last write op.
    if (request.getHdr() != null) {
        long zxid = request.getHdr().getZxid();
        Iterator<Proposal> iter = leader.toBeApplied.iterator();
        if (iter.hasNext()) {
            Proposal p = iter.next();
            if (p.request != null && p.request.zxid == zxid) {
                iter.remove();
                return;
            }
        }
        LOG.error("Committed request not found on toBeApplied: " + request);
    }
}

上述就是小编为大家分享的如何解析zk中的ToBeAppliedRequestProcessor了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注天达云行业资讯频道。

返回大数据教程...