摘要:
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 阅读全文
摘要:
1)一共9个线程 阅读全文