// updateMember submits a configuration change to change a member's address. func (n *Node) updateMember(ctx context.Context, addr string, raftID uint64, nodeID string) error { node := api.RaftMember{ RaftID: raftID, NodeID: nodeID, Addr: addr, } meta, err := node.Marshal() if err != nil { return err } cc := raftpb.ConfChange{ Type: raftpb.ConfChangeUpdateNode, NodeID: raftID, Context: meta, } // Wait for a raft round to process the configuration change return n.configure(ctx, cc) }