zoukankan      html  css  js  c++  java
  • 使用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

  • 相关阅读:
    postgresql 配置文件优化
    postgresql 主从配置
    关于 pgsql 数据库json几个函数用法的效率测试
    linux 常用命令大全
    linux 禁ping本机方法
    inotify 心得
    安装PHP扩展
    centos 防火墙配置
    Java好的的工具类:JsonUtils
    Java好的的工具类:JSONResult
  • 原文地址:https://www.cnblogs.com/niukuo/p/6879859.html
Copyright © 2011-2022 走看看