当前位置: 首页 > news >正文

北京网站建设推广服网站做软件有哪些

北京网站建设推广服,网站做软件有哪些,搜索引擎快速排名推广,专业放心关键词优化参考价格applyEntries方法的主要作用是接收待应用的 Raft 日志条目,并按顺序将其应用到系统中;确保条目的索引连续,避免丢失或重复应用条目。 一、函数完整代码 func (s *EtcdServer) applyEntries(ep *etcdProgress, apply *apply) {if len(apply.…

applyEntries方法的主要作用是接收待应用的 Raft 日志条目,并按顺序将其应用到系统中;确保条目的索引连续,避免丢失或重复应用条目。

一、函数完整代码

func (s *EtcdServer) applyEntries(ep *etcdProgress, apply *apply) {if len(apply.entries) == 0 {return}firsti := apply.entries[0].Indexif firsti > ep.appliedi+1 {lg := s.Logger()lg.Panic("unexpected committed entry index",zap.Uint64("current-applied-index", ep.appliedi),zap.Uint64("first-committed-entry-index", firsti),)}var ents []raftpb.Entryif ep.appliedi+1-firsti < uint64(len(apply.entries)) {ents = apply.entries[ep.appliedi+1-firsti:]}if len(ents) == 0 {return}var shouldstop boolif ep.appliedt, ep.appliedi, shouldstop = s.apply(ents, &ep.confState); shouldstop {go s.stopWithDelay(10*100*time.Millisecond, fmt.Errorf("the member has been permanently removed from the cluster"))}
}

二、方法完整解析

1. 检查是否有待应用的条目

if len(apply.entries) == 0 {return
}
  • 功能:检查是否有待应用的条目。
  • 作用:如果 apply.entries 为空,说明没有新条目需要应用,函数直接返回,不做任何处理。

2. 验证条目的索引是否连续

firsti := apply.entries[0].Index
if firsti > ep.appliedi+1 {lg := s.Logger()lg.Panic("unexpected committed entry index",zap.Uint64("current-applied-index", ep.appliedi),zap.Uint64("first-committed-entry-index", firsti),)
}
  • 功能:验证待应用条目的索引是否连续。
  • 作用:如果待应用的第一个条目索引大于当前已应用索引 + 1,表示条目丢失或索引跳跃,触发 panic,并记录错误日志。

3. 选择待应用的条目

var ents []raftpb.Entry
if ep.appliedi+1-firsti < uint64(len(apply.entries)) {ents = apply.entries[ep.appliedi+1-firsti:]
}
  • 功能:选择从当前已应用索引之后需要应用的条目。
  • 作用:确保条目按照顺序应用,避免跳过任何条目。ents 保存了从当前应用位置开始的所有待应用条目。

4. 检查是否有待应用的条目

if len(ents) == 0 {return
}
  • 功能:检查是否有待应用的条目。
  • 作用:如果没有待应用的条目(即所有条目都已经应用),直接返回,不继续执行后续操作。

5. 应用条目并判断是否需要停止该成员

var shouldstop bool
if ep.appliedt, ep.appliedi, shouldstop = s.apply(ents, &ep.confState); shouldstop {go s.stopWithDelay(10*100*time.Millisecond, fmt.Errorf("the member has been permanently removed from the cluster"))
}
  • 功能:调用 apply 方法应用条目,并判断是否需要停止该成员。
  • 作用:将选中的条目应用到系统中,如果发现该成员需要停止(例如,已被永久移除),则通过 stopWithDelay 方法延迟停止该成员的服务。

三、方法总结:

  • 该方法的主要作用是接收待应用的 Raft 日志条目,并按顺序将其应用到系统中。
  • 它会确保条目的索引连续,避免丢失或重复应用条目。
  • 如果发现该成员应该被移除(如它被永久移除或存在某些异常情况),函数会触发停止操作。
    下一步的阅读的主要方法为
    func (s *EtcdServer) apply方法
http://www.yayakq.cn/news/804073/

相关文章:

  • 京东商城网站地址是多少海南住房和城乡建设厅网站
  • 学做网站需要买什么书在线海报生成
  • 新乡做网站公成都农产品网站建设方案
  • 郑州加盟做网站创意营销新点子
  • 济南网站建设是什么意思女做受视频网站
  • wordpress geek themeseo整体优化步骤怎么写
  • 昆明建设网站哪家好wordpress 获取category id
  • 登录网站软件怎么做网站定制设计师
  • 网站改版301做手机网站多少钱
  • 绍兴市高速公路建设指挥部网站钓鱼网站模板制作
  • 公司建网站有何意义wordpress网站静态页面生成
  • 上市设计网站网站建设案例 星座
  • dw建设网站的代码模板美橙互联
  • 临沂网站优化哪家好代理公司注册
  • 南京企业网站设计网站开发android客户端
  • 广州网站建设广州网络推广公司排名wordpress下载官网
  • 怎么免费做自己的网站中国住房和城乡建设部网站首页
  • 办网站需要多少费用中国住房和城乡建设厅网站
  • 上海网站制作建设怎么样asp建的网站上传文章
  • 建设网站免费网站设计济南
  • app充值网站开发网站怎么做彩页
  • 怎么在记事本上做网站营销型网站建
  • 青岛网站设计 网站建设投稿作文网站
  • 医药网站建设客户的需求学网站建设软件开发
  • 中电科工程建设有限公司网站购物网站如何做推广
  • 长沙网站制微信网站入口
  • 织梦个人网站模板常州网络公司网站
  • 网站没备案或与实际备案不符往建设厅网站上传东西
  • 莱州网站建设多少钱小程序数据网
  • 用asp.net做的网站框架网站建设 书