Skip to content

Nodes try to self connect when given predefined config #6

@alexanderturner

Description

@alexanderturner

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

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions