上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 24 下一页
摘要: 1)问题 https://github.com/Tencent/phxpaxos/issues/52 m_bCanSkipPrepare只要在这一轮prepare有半数通过就会置为true m_bWasRejectBySomeone就是这一轮提交中没有被其他参与者拒绝过 直接进入accept 2)解 阅读全文
posted @ 2022-05-02 17:25 stupidstan2019 阅读(36) 评论(0) 推荐(0)
摘要: 1)进程启动赋初值 从levelDb读取最大的值instanceId=28,但是这个值没提交 如果新产生的消息,会依然用28 2)acceptReply后++ m_llInstanceID++; 3)进程重启 echo打印只打印27,为什么不打印28? 待看,用learner模块来补齐漏洞? 阅读全文
posted @ 2022-05-02 17:01 stupidstan2019 阅读(75) 评论(0) 推荐(0)
摘要: 1)调用栈 2)逻辑 从levelDb里读最后一条数据 再到logStore里从这里开始读,针对后面的重新做rebuild索引 阅读全文
posted @ 2022-05-02 15:35 stupidstan2019 阅读(37) 评论(0) 推荐(0)
摘要: 1)可能接受多次同样的请求 offset = appendLog 覆盖更新leveldb(同一个instanceId,offset) 文件存储里存了冗余数据 2)删除逻辑 删除key和log文件 3)作者解释为什么存储和索引分离 https://github.com/Tencent/phxpaxos 阅读全文
posted @ 2022-05-02 12:00 stupidstan2019 阅读(39) 评论(0) 推荐(0)
摘要: 【流程】 1)只有单副本场景 业务线程1阻塞再等待context.isCommited提交上 2)多副本场景 a) 在这里检查是多数派满足 b)满足之后设置commited状态 c) learner识别到提交,在控制台打印 【问题】 1.备机收到accept消息 本地持久化 给主机回acceptRe 阅读全文
posted @ 2022-05-02 10:12 stupidstan2019 阅读(40) 评论(0) 推荐(0)
摘要: 1)一共9个线程 阅读全文
posted @ 2022-05-02 09:54 stupidstan2019 阅读(32) 评论(0) 推荐(0)
摘要: 0)代码量 只有1300多行 db.cpp:800 log_store.cpp:800 paxos_log.cpp:150 system_variables_store.cpp:100 1)写逻辑 先把value写入logstore 再把key:valueOffset的位置写入leveldb,减小l 阅读全文
posted @ 2022-05-01 17:10 stupidstan2019 阅读(92) 评论(0) 推荐(0)
摘要: 0)文件路径 /root/phxpaxos/sample/phxecho/logpath_127.0.0.1_11111/g0/vfile/0.f 100MB预分配好的 1)写一个1 log文件写47字节 2)会追加写三次 a)第一次 phxpaxos::LogStore::Append log_s 阅读全文
posted @ 2022-05-01 15:55 stupidstan2019 阅读(78) 评论(0) 推荐(0)
摘要: 1)部署参考文档 https://www.cnblogs.com/binliubiao/p/15201453.html 2)编译之后替换二进制 549个线程 3)代码 阅读全文
posted @ 2022-04-25 00:55 stupidstan2019 阅读(64) 评论(4) 推荐(0)
摘要: 参考 https://www.cnblogs.com/awesomeHai/p/liuhai.html https://www.cnblogs.com/sunsky303/p/11119300.html https://time.geekbang.org/column/article/12230?u 阅读全文
posted @ 2022-04-23 22:51 stupidstan2019 阅读(50) 评论(0) 推荐(0)
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 24 下一页