jackjoesh

Results 14 comments of jackjoesh

> Hi thanks for your interests. This step wait for two things, one is leader on stage and the second is applying the the lasted log. > > * The...

> Our state machine takes advantage of rocksdb. EAL only write rocksdb, and CPL read from memory cache and same shared rockdb. You can image rocksdb state is the latested...

> In practice, there is no extra EAL event to apply, since EAL should catch up with commited index. Yes we have PROD system using are using gringofts, that's why...

> What do you mean by that? Can you give me an example of what you want Kryo to do? @BigDecimalCut(accuracy=8, roundHalfUp=true) private BigDecimal value; Attributes can be annotated to...

> What do you mean by that? Can you give me an example of what you want Kryo to do? Sorry, I changed the question, can I get the custom...

> > can I get the custom annotation on the field in my custom serializer? I hope some properties in these annotations will affect the serialization rules. > > Unfortunately,...

> 实际遇到问题了? 业务状态机满,理论上并不影响心跳。 是的,我理解follower在接受heartbeat请求的处理链路如下: NodeImpl的1972行 this.ballotBox.setLastCommittedIndex(Math.min(request.getCommittedIndex(), prevLogIndex)); BallotBox第241行 this.waiter.onCommitted(lastCommittedIndex); FSMCallerImpl第239行 public boolean onCommitted(final long committedIndex) { return enqueueTask((task, sequence) -> { task.type = TaskType.COMMITTED; task.committedIndex = committedIndex; }); } 最后的这个业务状态机队列ApplyTask是阻塞式的队列,那会造成follower处理heartbeat请求超时,...

> 实际遇到问题了? 业务状态机满,理论上并不影响心跳。 我们follow在启动的时候,如果要追的业务状态机数据很多,把队列打满了,就会很快造成follower onStopFollowing

> 嗯,你说的现象是可能存在的,这块我们再思考下。心跳会捎带 commit index 来提交日志到状态机,如果状态机长期跟不上 leader 进度也会有问题。 我明白你的意思,如果状态机器长期跟不上,那个follower也是有问题的。但是最好在follower刚启动的时候,给他一定的容错时间,如果我们用raft做一些比较重的业务的时候,启动时可能就会存在追比较久的情况