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

  • 相关阅读:
    《炒股的智慧》
    python函数初识
    python文件操作
    python 表 字典 数据补充
    python深浅copy,is,id
    python列表字典小练习
    python列表字典练习
    python for/range练习
    python列表练习
    python每日小练习
  • 原文地址:https://www.cnblogs.com/niukuo/p/6879859.html
Copyright © 2011-2022 走看看