摘要:
1) cryptopp-CRYPTOPP_5_6_1.zip 解压 make libcryptopp.a libcryptopp.so cryptest.exe make install PREFIX=/usr/local 2) 手动编译protobuf 3)scons 阅读全文
摘要:
作者:godj链接:https://www.zhihu.com/question/328622742/answer/713388283 RocksDB Features that are not in LevelDB Performance Multithread compaction Multit 阅读全文
摘要:
阅读全文
摘要:
1)涉及线程 2)刷clog 调用栈 3)write线程 4)flush线程 调用栈 5)刷完盘回调线程调用栈 【其他】 observer.log刷盘调用栈 阅读全文
摘要:
【原文】 https://www.usenix.org/legacy/events/expcs07/papers/2-li.pdf 1)介绍 上下文切换的代价 直接代价:进程寄存器的保存和恢复,os的线程调度,tlb的加载,processor的pipline刷新 cache影响代价:不同的负载下,不 阅读全文
摘要:
【背景】 innodb和oceanbase都使用aio 【相关笔记】 1) 使用代码 https://gist.github.com/larytet/87f90b08643ac3de934df2cadff4989c io_submit io_getevents阻塞等待事件 2)native aio原 阅读全文
摘要:
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 阅读全文