文档章节

zk中ToBeAppliedRequestProcessor解析

writeademo
 writeademo
发布于 10/24 10:54
字数 156
阅读 15
收藏 0
ZK

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);
    }
}

© 著作权归作者所有

writeademo
粉丝 25
博文 694
码字总数 265076
作品 0
东城
私信 提问
zookeeper源码分析之集群模式服务端(上)

最近较忙,在做服务网格的一些东西,很久没有更新文章了,其实一直惦记着这个事,这次接着之前的话题,把zookeeper的东西补完。 整体来说ZK集群模式运行时分为两个阶段,一个是选举,一个是处...

凌风郎少
2018/11/03
0
0
dubbo源码理解(2)消费者代理注入过程

又过了很久才敢写。自己也在反复看,consumer在启动时是如何创建代理并注入的呢? 在第一篇 我写了一些bean的加载过程。这个过程也是包含在启动过程中的。 one、spring 加载dubbo文件,开始解...

明瞐
2018/11/27
15
0
ZooKeeper源码研究系列(5)集群版建立连接过程

1 系列目录 - ZooKeeper源码研究系列(1)源码环境搭建- ZooKeeper源码研究系列(2)客户端创建连接过程分析- ZooKeeper源码研究系列(3)单机版服务器介绍- ZooKeeper源码研究系列(4)集群...

乒乓狂魔
2015/08/24
6.7K
2
simpleRpc解析-服务端

本文主要是对勇哥的simpleRpc进行了简单的剖析,用来学习rpc,加深对rpc的理解! 源码地址:http://git.oschina.net/huangyong/rpc 勇哥博客:https://my.oschina.net/huangyong/blog/36175...

涩谷直子
2018/06/22
33
1
zookeeper源码分析之单机模式服务端

这篇文章梳理一下zookeeper服务端的处理逻辑。简单起见,本文先看单机模式的逻辑,下一篇再说集群模式的逻辑。 一、执行过程概述 单机模式的ZK服务端逻辑写在ZooKeeperServerMain类中,由里面...

凌风郎少
2018/08/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周五乱弹 —— 你已经是个成熟的熊猫了

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @Sharon啊 :#今日歌曲推荐# 分享黑鸭子的单曲《羞答答的玫瑰静悄悄的开》 《羞答答的玫瑰静悄悄的开》- 黑鸭子 手机党少年们想听歌,请使劲儿...

小小编辑
56分钟前
336
8
结合Spring Security进行web应用会话安全管理

在本文中,将为大家说明如何结合Spring Security 和Spring Session管理web应用的会话。 一、Spring Security创建使用session的方法 Spring Security提供4种方式精确的控制会话的创建: alwa...

fightinging
今天
6
0
83、Mybatis和Hibernate重要区别

Mybatis;入门简单,程序容易上手开发,节省开发成本。Mybatis需要程序猿自己编写sql语句,是一个不完全的ORM框架,对sql修改和优化非常容易实现。 Mybatis适合开发需求变更频繁的系统,比如...

lianbang_W
今天
8
0
设计模式之状态模式

定义 Allow an object to alter its behavior when its internal state changes.The object will appear to change its class.(当一个对象内在状态改变时允许其改变行为,这个对象看起来像改...

陈年之后是青葱
今天
6
0
Python常用模块之os.path

os.path.abspath(path) 输入相对路径,返回绝对路径 Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32Type "copyright", "credits" or "lic......

松鼠大帝
今天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部