You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, I have wrote testing code basing on mem-store example to verify async-raft.
step1: create 3 nodes, that is node0, node1, node2
step2: initialize node0, changing leader to node0
step3: node0 add_non_voter with node1 and node2
step4: node0 change_membership with all nodes
step5: node0 client_write a request
step6: node0 print error log "wrong append state ", it means apply_entry_to_state_machine before replicating to the majority of the cluster
Is it an issue of async-raft? or anything wrong in my code? here is the code:
Oh, sounds good.
Another question, what is the correct usage in Cargo.toml if my project denpends on datafuse fork?
Something like async-raft = "0.6.2-alpha.15" or async-raft = "path=/path/to/fork" ?
Activity
drmingdrmer commentedon Sep 9, 2021
There are several issues related to quorum check.
I fixed bugs I found here:
https://github.com/drmingdrmer/async-raft
threshold/2 < last_log_index - snapshot < threshold
Most suspicious ones are:
Note that my fork changed some of the APIs, in case you'd like to see if my fork fixed your issues.
simon-fu commentedon Sep 10, 2021
@drmingdrmer your fork works! could you merge your fork back to this repo?
drmingdrmer commentedon Sep 10, 2021
This is an incompatible fork. Merging it back may affect a lot current users.
This fork is used in our project and will be maintained in a long term by datafuse developers: https://github.com/datafuse-extras/async-raft
simon-fu commentedon Sep 10, 2021
Oh, sounds good.
Another question, what is the correct usage in Cargo.toml if my project denpends on datafuse fork?
Something like async-raft = "0.6.2-alpha.15" or async-raft = "path=/path/to/fork" ?
drmingdrmer commentedon Sep 10, 2021
async-raft = { git = "https://github.com/datafuse-extras/async-raft", tag = "v0.6.2-alpha.14" }
Actually in our project all of the internal dependencies are tracked with git url. :DDD
simon-fu commentedon Sep 11, 2021
Execllent! That is what I need.