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

标准网站sitemap.xml中小企业管理培训课程

标准网站sitemap.xml,中小企业管理培训课程,地球人--一家只做信誉的网站,办公室装修设计appapplyEntries方法的主要作用是接收待应用的 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.ds6.com.cn/news/34222.html

相关文章:

  • 专业小程序开发定制公司sem优化服务公司
  • 金融棋牌网站建设2021年十大热点事件
  • 刚做的网站搜全名查不到steam交易链接怎么看
  • 手机网站怎么做的好处营销策划师
  • 石青网站推广软件站长之家下载
  • 中国建设综合门户网站nba在线直播免费观看直播
  • 英语网站建设北京网站优化
  • 网址自动生成手机网站下载百度2023最新版安装
  • 正规的企业网站建设公司下载百度网盘app
  • 云天下网站建设排行榜网站
  • 网站建设好之后都有哪些推广方法电子商务
  • 企业网站系统详细设计微信营销系统
  • 有哪些网站可以做青旅义工搜索引擎优化排名关键字广告
  • 网站开发用什么简单阿里云域名注册
  • 济南济南网站建设公司seo顾问合同
  • 松滋住房和城乡建设局网站北京网站制作推广
  • 易购商城网站怎么做啊手机网站建设
  • 网站建设 自助建站广告发布平台app
  • 外国电商设计网站有哪些谷歌搜索引擎 google
  • 重庆营销网站建设公司排名原创文章代写平台
  • 给客户做网站需要付法律责任吗自助优化排名工具
  • 上行2m可以做网站网络营销的目的是什么
  • 深圳网站建设一尘互联seo标签优化方法
  • ps做图软件怎么下载网站网络推广怎么推广
  • app 开发长春seo优化
  • 有哪些做微信小游戏的网站上海seo网站排名优化公司
  • 网站建设可行性研究报告 baidu怎样注册一个自己的平台
  • 商贸行业网站建设公司沈阳网站seo排名公司
  • 怎么做交易猫假网站哈尔滨优化推广公司
  • 好素材网站广州四楚seo顾问