TIKV写入逻辑(一个TIVK有两个rocksdb,一个存日志,一个存数据)
1.客户都发送请求后进入propose。
2.propose之后会把写入请求变成日志RAFT_log(RAFT日志包含,reagion号,log)append,把本地的日志持久化
3.leader会将日志发给follower,follower接收日志后,写入日志成功后返回消息给leader,当大多数节点返回消息后leader认为写入成功进入日志commit
4.日志commit之后,将l数据写入到rocksdb kv数据中,然后应用commit。
问题:如果在日志commit后 t数据还没有写入到rocksdb kv中,tikv挂了,这个时候应用是返货报错还是返回commit?如果应用返回报错的话是不是意味着数据不一致?(以上写入逻辑自己整理的,不清楚是否正确)