随笔分类 - phxpaxos
摘要:1)问题 https://github.com/Tencent/phxpaxos/issues/52 m_bCanSkipPrepare只要在这一轮prepare有半数通过就会置为true m_bWasRejectBySomeone就是这一轮提交中没有被其他参与者拒绝过 直接进入accept 2)解
阅读全文
摘要:1)进程启动赋初值 从levelDb读取最大的值instanceId=28,但是这个值没提交 如果新产生的消息,会依然用28 2)acceptReply后++ m_llInstanceID++; 3)进程重启 echo打印只打印27,为什么不打印28? 待看,用learner模块来补齐漏洞?
阅读全文
摘要:1)调用栈 2)逻辑 从levelDb里读最后一条数据 再到logStore里从这里开始读,针对后面的重新做rebuild索引
阅读全文
摘要:1)可能接受多次同样的请求 offset = appendLog 覆盖更新leveldb(同一个instanceId,offset) 文件存储里存了冗余数据 2)删除逻辑 删除key和log文件 3)作者解释为什么存储和索引分离 https://github.com/Tencent/phxpaxos
阅读全文
摘要:【流程】 1)只有单副本场景 业务线程1阻塞再等待context.isCommited提交上 2)多副本场景 a) 在这里检查是多数派满足 b)满足之后设置commited状态 c) learner识别到提交,在控制台打印 【问题】 1.备机收到accept消息 本地持久化 给主机回acceptRe
阅读全文
摘要: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
阅读全文
摘要: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
阅读全文

浙公网安备 33010602011771号