replace swallowed error with log entry

This commit is contained in:
Travis Turner 2018-02-15 12:02:06 -06:00
parent 8db3a9b64d
commit 666fe22ecb
No known key found for this signature in database
GPG key ID: 7F08008DFD9314C9
4 changed files with 19 additions and 6 deletions

View file

@ -405,6 +405,8 @@ func (c *Cluster) setState(state string) {
if c.state == ClusterStateResizing {
doCleanup = true
}
default:
panic(fmt.Sprintf("invalid cluster state: %s", state))
}
c.state = state

View file

@ -338,12 +338,16 @@ func (g *GossipMemberSet) MergeRemoteState(buf []byte, join bool) {
type GossipEventReceiver struct {
ch chan memberlist.NodeEvent
eventHandler pilosa.EventHandler
// The writer for any logging.
LogOutput io.Writer
}
// NewGossipEventReceiver returns a new instance of GossipEventReceiver.
func NewGossipEventReceiver() *GossipEventReceiver {
func NewGossipEventReceiver(logOutput io.Writer) *GossipEventReceiver {
return &GossipEventReceiver{
ch: make(chan memberlist.NodeEvent, 1),
ch: make(chan memberlist.NodeEvent, 1),
LogOutput: logOutput,
}
}
@ -366,6 +370,11 @@ func (g *GossipEventReceiver) Start(h pilosa.EventHandler) error {
return nil
}
// logger returns a logger for the GossipEventReceiver.
func (g *GossipEventReceiver) logger() *log.Logger {
return log.New(g.LogOutput, "", log.LstdFlags)
}
func (g *GossipEventReceiver) listen() {
var nodeEventType pilosa.NodeEventType
for {
@ -392,7 +401,9 @@ func (g *GossipEventReceiver) listen() {
Event: nodeEventType,
Node: node,
}
_ = g.eventHandler.ReceiveEvent(ne)
if err := g.eventHandler.ReceiveEvent(ne); err != nil {
g.logger().Printf("receive event error: %s", err)
}
}
}

View file

@ -51,7 +51,7 @@ func TestMain_SendReceiveMessage(t *testing.T) {
m0.Server.Cluster.Coordinator = m0.Server.URI
m0.Server.Cluster.Topology = &pilosa.Topology{NodeIDs: []string{m0.Server.NodeID, m1.Server.NodeID}}
m0.Server.Cluster.EventReceiver = gossip.NewGossipEventReceiver()
m0.Server.Cluster.EventReceiver = gossip.NewGossipEventReceiver(m0.Server.LogOutput)
gossipMemberSet0, err := gossip.NewGossipMemberSet(m0.Server.URI.HostPort(), m0.Config, m0.Server)
if err != nil {
t.Fatal(err)
@ -78,7 +78,7 @@ func TestMain_SendReceiveMessage(t *testing.T) {
m1.Config.Gossip.Seed = gossipMemberSet0.Seed()
m1.Server.Cluster.Coordinator = m0.Server.URI
m1.Server.Cluster.EventReceiver = gossip.NewGossipEventReceiver()
m1.Server.Cluster.EventReceiver = gossip.NewGossipEventReceiver(m1.Server.LogOutput)
gossipMemberSet1, err := gossip.NewGossipMemberSet(m1.Server.URI.HostPort(), m1.Config, m1.Server)
if err != nil {
t.Fatal(err)

View file

@ -262,7 +262,7 @@ func (m *Command) SetupNetworking() error {
m.Server.NodeID = m.Server.LoadNodeID()
m.Server.Cluster.EventReceiver = gossip.NewGossipEventReceiver()
m.Server.Cluster.EventReceiver = gossip.NewGossipEventReceiver(m.Server.LogOutput)
gossipMemberSet, err := gossip.NewGossipMemberSetWithTransport(m.Server.NodeID, m.Config, transport, m.Server)
if err != nil {
return err