Changyuan Ning
Changyuan Ning
为方便在 raft 模式和单机模式之间切换,所有的写命令底层在写 rocksdb 时应当采用我们封装的 Batch 接口。 > 参考PR:https://github.com/OpenAtomFoundation/pikiwidb/pull/285 ## 修改方法: 参考上述PR,总结起来有四件事: 1. 构造我们封装的 Batch ,不使用 rocksdb::Batch ; 2. 把 put 和 delete 换成 Batch 接口的 put 和 delete; 3....
在RAFT模式下,当 follower 节点收到写命令时,应当返回重定向到leader的信息
### Is this a regression? Yes ### Description 在 raft 模式下,应当首先初始化节点再进行读写操作。在开发时使用 assert 保证读写命令执行时,node 一定被初始化了。 现在需要增加对此的错误处理,在raft模式下,如果在节点初始化之前进行读写,应当向 client 返回错误信息,而不是触发 assert 崩溃。 ### Please provide a link to a minimal reproduction of the...
### Is this a regression? Yes ### Description 1. 每个 Storage 实例有 n 个 Redis 对象,每个 Redis 中有一个 rocksdb 实例。我们在每个 Redis 当中维护了所有列族落盘数据对应的 raft log index 和 rocksdb sequence number 与...
### Description 在 `braft.cmake` 中使用 `ExteranlProject_Add` 命令拉取 braft 时,其中的 install 命令是使用 cp 直接将所需要的头文件目录和库文件复制到目标目录的。 ```CMake ExternalProject_Add( extern_braft ${EXTERNAL_PROJECT_LOG_ARGS} DEPENDS brpc URL "https://github.com/baidu/braft/archive/v1.1.2.tar.gz" URL_HASH SHA256=bb3705f61874f8488e616ae38464efdec1a20610ddd6cd82468adc814488f14e PREFIX ${BRAFT_SOURCES_DIR} UPDATE_COMMAND "" CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}...
# server https://github.com/OpenAtomFoundation/pikiwidb/pull/364 # pd 设计与实现文档 https://m0jlcucyhxm.feishu.cn/docx/F2qMd0eRUotvrdxAHBdcpx5yn5Q # proxy 调研中
实现 PikiwiDB multi-raft 集群 整体分为三个部分: - Server 端 - 主要是更改存储结构,并支持多 Raft ,使每个 DB 绑定不同的 Raft Node - 改造原本的 RedisRaft 命令,支持向目标进程中的目标 DB 添加 node,来构建集群 - PD 端 - 一方面在 PD 端定义相应的...
编译时三个错误
使用 texlive2024+vscode 环境。在 demo_chs 目录下的命令行运行 `latexmk -xelatex master`,编译失败,恳请大佬指教。 主要有三类错误: 1. CTeX fontset `' could not be found.  2. Illegal pream-token ([): `c' used.  3. Invalid number '1920x1080'. 