使用phxpaxos开发过程中遇到的坑

1. 开启BatchPropose后,状态机使用ExecuteForCheckpoint生成快照要注意:

ExecuteForCheckpoint中的InstanceID不能立即持久化。

例如:

当instance id = 3中包含多个值的时候,如果执行第一个值就更新的checkpoint version(GetCheckpointInstanceID的返回值),那么当进程重启之后(例如进程挂了),后面几个值就永远没有机会调用ExecuteForCheckpoint应用到checkpoint了

建议的做法:

当发现InstanceID变化时,将上次的InstanceID持久化。

可能的问题:

BatchPropose中的多个值可能即使已经return true了,还是会被再次ExecuteForCheckpoint

解决的问题:

BatchPropose中的多个值被丢失的情况

https://github.com/tencent-wechat/phxpaxos/issues/56

2. 开启IsUseMaster之后,非master依然可以Propose成功。调用者要自己想办法保护。暂时没想到不改源代码的解决方式。

3. LogStorage的路径使用相对路径时,传输snapshot会出错

https://github.com/tencent-wechat/phxpaxos/issues/49

时间: 2024-11-05 17:25:50

使用phxpaxos开发过程中遇到的坑的相关文章

Python开发过程中17个坑

一.不要使用可变对象作为函数默认值 复制代码代码如下: In [1]: def append_to_list(value, def_list=[]):   ...:         def_list.append(value)   ...:         return def_list   ...: In [2]: my_list = append_to_list(1) In [3]: my_listOut[3]: [1] In [4]: my_other_list = append_to_l

android开发过程中遇到的坑

在android的学习过程中,会有很多坑,我会把我遇到的,一一列下来,方便后来者查阅! 1:android-support-v4.jar and android-support-v7-appcompat.jar 的问题,在新建项目是因新手选择 targart sdk,compile sdk的时候,选择高版本的时候,会有找不到这两个包的问题, 解决方法:appcompat_v7 源码作为新建项目的lib,导入 2:经常性的R文件无法自动产生,导致,在代码中引用资源是,提示无法找到: 常见的原因是,

汇总开发过程中遇到的坑

1.状态格式不同导致数据异常,例如订单结果.2.查询状态和结果状态搞混.3.SQL in之类的数据库语句异常,内部异常不处理导致难定位问题.更新删除语句未加条件.4.数据库字段长度不够,或程序未对字符串截取处理,导致数据插入异常.5.数据未做唯一插入处理.6.动态IP导致数据库访问不了.7.代码里面写固定的测试变量,测试完之后忘记注释.8.拷贝的代码,异常未发现.9.对自己不熟悉的代码随意修改,而不是重写.10.关键功能没有记录操作日志,发生问题后技术被指责.11.程序要有边界,任何处理逻辑都不

vue03----生命周期、nextTick()、ref、filter、computed、vue中异步请求渲染问题(swiper不轮播)(在开发过程中遇到什么问题、踩过的坑)

### 1.vue的组件和实例都有生命周期,而且是一样的 生命周期:(组件从创建到销毁的过程) 创建 挂载 更新 销毁 组件到达某一个阶段就会自动触发某一些函数,这个函数就叫生命周期的钩子函数. 创建:组件创建的时候触发 beforeCreate created     组件刚创建的数据请求 挂载:创建完成挂载前后触发 beforeMount mounted     DOM的初始化操作 更新:数据发生改变的时候触发 beforeUpdate updated     数据的变化监听,尽量不要在这里

Hadoop开发过程中所遇到的那些坑

核心内容: 1.Hadoop开发过程中常见问题即解决方案 在Hadoop开发的过程中,我们总是遇到各种各样的问题,今天就整理总结一下: 万能的解决方案:6个检查+具体日志 在Hadoop开发的过程中如果遇到各种异常,首先使用jps命令查看节点的启动是否正常,然后在去查看相关的日志文件,但是在查看相关日志之前,你可以先检查一下面几点: 1.防火墙原因:检查各个节点的防火墙是否关闭成功.(重点是检查NameNode) [root@hadoop11 ~]# service iptables statu

记一次开发过程中,iview遇到的一些坑以及解决办法

写在开头:本次项目采用的是vue2.0+iview3.0,最近公司没啥事,来总结一下开发过程中遇到的问题. 1.Modal关闭问题 需求背景:modal框里面是个form表单,点击确定之后,先验证form表单,验证通过则关闭modal框,验证不成功则提示用户,不关闭. 问题描述:本来刚开始想通过modal框v-model绑定的值(true或false)来进行控制,手动改之后,报错. 解决办法: 官方iview的modal组件的api里面有个loading属性,可通过控制loading的值来进行控

iOS开发中遇到的坑 韩俊强的博客( 草稿)

从事iOS开发有些年月了,从最开始的磕磕绊绊,不知所措,到现在的遇到困难都能快速做出最佳方案处理,中间经历了不可或缺的痛苦.在项目开发中,本人有用印象笔记记录的习惯,所以很多重复出现的坑,很快迎刃而解,而不在同一个地方摔倒两次.为此,特意总结了一下开发中经常遇到的坑,有些可能和你形成共鸣,有些在你看来或许是小儿科,不喜勿喷. A valid provisioning profile for this executable was not found. 解决问题所在:发布证书无法运行在真机上!!!

总结开发过程踩到的坑(三)

在日常工作中,时常会碰到各种各样的坑,有时真的觉得很多时候开发的经验都是踩坑踩出来的.在通往大牛的道路上,希望自己能够跨越重重阻碍,越走越远.学会时常总结,不断提升自己. 本文章旨在总结开发过程中碰到的容易忘记或者比较重要的坑,一方面加深自己对于该部分的理解,另一方面希望能够分享给大家,知识在于分享,当然踩过的坑也不例外(滑稽). 目录 input 上传同一文件问题 let 的一些用法 限制小数正则 DOM 操作的方法 根据对象字段排序 代码规范 1. input 上传同一文件问题 这是一个常在

总结开发过程踩到的坑(一)

在日常工作中,时常会碰到各种各样的坑,有时真的觉得很多时候开发的经验都是踩坑踩出来的.在通往大牛的道路上,希望自己能够跨越重重阻碍,越走越远.学会时常总结,不断提升自己. 本文章旨在总结开发过程中碰到的容易忘记或者比较重要的坑,一方面加深自己对于该部分的理解,另一方面希望能够分享给大家,知识在于分享,当然踩过的坑也不例外(滑稽). 目录 margin 重叠问题 placeholder 自定义样式 伪类和伪元素 title 超出省略 scroll 自定义样式 sticky 定位 配置 swiper