Skip to content

Commit

Permalink
small cleanup and logging
Browse files Browse the repository at this point in the history
  • Loading branch information
dadgar committed Apr 27, 2018
1 parent 0c0fa40 commit 5cd1ff4
Showing 1 changed file with 11 additions and 10 deletions.
21 changes: 11 additions & 10 deletions nomad/client_rpc.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ func (s *Server) getNodeConn(nodeID string) (*nodeConnState, bool) {

// Shouldn't happen but rather be safe
if state == nil {
s.logger.Printf("[WARN] nomad.client_rpc: node %q exists in node connection map without any connection", nodeID)
return nil, false
}

Expand Down Expand Up @@ -113,20 +114,20 @@ func (s *Server) removeNodeConn(ctx *RPCContext) {
// dial various addresses that all route to the same server. The most common
// case for this is the original address the client uses to connect to the
// server differs from the advertised address sent by the heartbeat.
numConns := len(conns)
found := false
for i, conn := range conns {
if conn.Ctx.Conn.LocalAddr().String() == ctx.Conn.LocalAddr().String() &&
conn.Ctx.Conn.RemoteAddr().String() == ctx.Conn.RemoteAddr().String() {
s.nodeConns[ctx.NodeID] = append(s.nodeConns[ctx.NodeID][:i], s.nodeConns[ctx.NodeID][i+1:]...)
found = true
break
}
}

// If we just deleted the last conn, remove it from the map
if found && numConns == 1 {
delete(s.nodeConns, ctx.NodeID)
if len(conns) == 1 {
// We are deleting the last conn, remove it from the map
delete(s.nodeConns, ctx.NodeID)
} else {
// Slice out the connection we are deleting
s.nodeConns[ctx.NodeID] = append(s.nodeConns[ctx.NodeID][:i], s.nodeConns[ctx.NodeID][i+1:]...)
}

return
}
}
}

Expand Down

0 comments on commit 5cd1ff4

Please sign in to comment.