From 5cd1ff45018919284b72defbf333fd8029abff09 Mon Sep 17 00:00:00 2001 From: Alex Dadgar Date: Fri, 27 Apr 2018 10:36:28 -0700 Subject: [PATCH] small cleanup and logging --- nomad/client_rpc.go | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/nomad/client_rpc.go b/nomad/client_rpc.go index fb47ed325..5a3498de7 100644 --- a/nomad/client_rpc.go +++ b/nomad/client_rpc.go @@ -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 } @@ -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 + } } }