-
Notifications
You must be signed in to change notification settings - Fork 18
Open
Description
Hi there and thanks for sharing this project. I'm keen to introduce Raft into one of my projects in which there is a predefined cluster. During boot I'm getting the follower error on 2 of the three nodes:
panic: raft.membership: attempted to send msg to local member; should never happen
Here is the relevant code
func raftInit() {
raftgrpc.Register(
raftgrpc.WithDialOptions(grpc.WithInsecure()),
)
fsm = newstateMachine()
node = raft.NewNode(fsm, transport.GRPC)
raftServer = grpc.NewServer()
raftgrpc.RegisterHandler(raftServer, node.Handler())
m1 := raft.RawMember{ID: 1, Address: "host1:8081"}
m2 := raft.RawMember{ID: 2, Address: "host2:8081"}
m3 := raft.RawMember{ID: 3, Address: "host3:8081"}
go func() {
lis, err := net.Listen("tcp", ":8081")
if err != nil {
log.Fatal(err)
}
err = raftServer.Serve(lis)
if err != nil {
log.Fatal(err)
}
}()
go func() {
err := node.Start(raft.WithInitCluster(), raft.WithMembers(m1, m2, m3) )
if err != nil {
log.Fatal(err)
}
}()
}
Not sure if this is misconfigured on my side or if there's an issue here. Would greatly appreciate you assistance.
Metadata
Metadata
Assignees
Labels
No labels