Dongsheng He
Dongsheng He
使用上述方法后问题依然存在
When I use AESModeOfOperationCBC class I got ValueError: plaintext block must be 16 bytes.   python version: Python 3.7.0 pyaes version : v1.6.0
可能是因为 gflags 的 NAMESPACE 的原因,gflags 可能有两个 NAMESPACE 一个是 `google` 一个是 `gflags` ,看下链接的 gflags 的 NAMESPACE 是否是 `gflags`
related issue: https://github.com/apache/brpc/issues/2164
即使是从 LogStorage get_term, 在初始化时 每个 segment 都会缓存其 meta 信息`(index->(term,offset)) `,所以也只是需要查找内存。 比起读 memoryLog ,会多一次查找 segment 和读取 meta 的开销(也会多一些判断和内存跳转以及锁的开销)。如果是 qps 比较低的情况,有评估过对性能的影响有多大吗?
取消 rpc 为什么进入下面的分支? 应该是判断 ` if (cntl->Failed()) `分支,所以 next_index 不会 --? https://github.com/baidu/braft/blob/59c40e5d6b487121af5a1826a654138f489d7155/src/braft/replicator.cpp#L400-L416
> > 取消 rpc 为什么进入下面的分支? 应该是判断 `if (cntl->Failed())`分支,所以 next_index 不会 --? > > https://github.com/baidu/braft/blob/59c40e5d6b487121af5a1826a654138f489d7155/src/braft/replicator.cpp#L400-L416 > > 被取消的第一个rpc应该是进入了`if (cntl->Failed())`。 > > 感觉出问题的是先到达的第二个 rpc, cntl->Failed() 没有失败,但是由于 log gap存在,Cache 又未开启,所以 response->success() 是 false,...
```diff --- a/src/braft/replicator.cpp +++ b/src/braft/replicator.cpp @@ -450,9 +450,11 @@ void Replicator::_on_rpc_returned(ReplicatorId id, brpc::Controller* cntl, // The peer contains logs from old term which should be truncated, // decrease _last_log_at_peer by...
首先 snapshot 保存的状态是此时此刻 $ApplyIndex_{t}$ 完成时的状态机状态,在做 snapshot 的时候状态机是不会继续往前 apply 的,(串行化同步执行)。 > 是重启之后,这些 日志会被重新 apply 了一遍 重启时,braft 是会从最近的一次快照进行恢复 `load_snapshot` , 将状态机恢复到该 snapshot 的 $ApplyIndex_{t}$ 是的状态,然后继续执行 $LogIndex_{t+1}$ 。 > 如果这些日志的操作是 ++i 这种操作的话就是有问题的吧? 不会有问题,...