laoliu
laoliu
> “直接换掉测盘,重启新节点,不会进行数据同步;” Node拉起来应该会自己处理吧 试了几下, 应该是不行的, raft 层不知道 状态机的状态,必须删除添加一次才行,还是不那么完善
> “直接换掉测盘,重启新节点,不会进行数据同步;” Node拉起来应该会自己处理吧 如果没有新的写入,一直不会安装 快照,有个新的写入之后会安装快照
> 首先 snapshot 保存的状态是此时此刻 ApplyIndext 完成时的状态机状态,在做 snapshot 的时候状态机是不会继续往前 apply 的,(串行化同步执行)。 > > > 是重启之后,这些 日志会被重新 apply 了一遍 > > 重启时,braft 是会从最近的一次快照进行恢复 `load_snapshot` , 将状态机恢复到该 snapshot 的 ApplyIndext 是的状态,然后继续执行 LogIndext+1 。...
rocksdb 快照硬链接会减少一部分空间,但如果持续性的写入,快照对应的文件一直删除不掉,应该依旧会带来空间的浪费吧?
> > 应该依旧会带来空间的浪费吧 > > 我们之前的做法是在 SaveSnapshot 的时候通过 RocksDB 的 snapshot 拿到当时的状态,然后遍历 DBIter 写到 SSTFile。这中做法虽然能保证snapshot的正确性,但是会有你提到的空间浪费,数据的大小最坏的情况可能占有实际 数据量3倍(2个快照+1个数据库文件)。而且 Iter 也会有很大的读开销。 > > 后面我们使用的是 RocksDB 提供的 CheckPoint 功能,也就是你说的硬链接的方式。这种方式的好处是 快照里面的数据文件 和此时数据库的数据文件 有相同 FileNumber 的是共享的。只有不同的文件(即...
是的,但是gopls 依然是 i/o timeout
> 远程开发自然是要将环境变量配置到远程机器上了。你是怎么远程开发的?用的 [Visual Studio Code Server](https://code.visualstudio.com/docs/remote/vscode-server) 吗? 是的,该配置的都配置了,但是 go 扩展安装 gopls 等tools 时候依然是 i/o time out
yes, i have the same problem
只有 libunwind 编译错误,其他的编译正常, 编译log 如下: _ar: `u' modifier ignored since `D' is the default (see `U') ar: `u' modifier ignored since `D' is the default (see `U') ar: `u' modifier...
also have no user stack ubuntn 20.04, and kernel is: Linux ubuntu 5.15.0-67-generic #74~20.04.1-Ubuntu SMP Wed Feb 22 14:52:34 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux