diff --git a/api/version_vars.go b/api/version_vars.go index 4c7400d408c23d6a07c021ca80643bc7b362fc22..82a284c80c548bc3f89e22399ca31b1354c5a756 100644 --- a/api/version_vars.go +++ b/api/version_vars.go @@ -1,9 +1,9 @@ // Code generated by go generate; DO NOT EDIT. // This file was generated by robots at -// 2021-07-27 14:13:01.428348 -0500 CDT m=+0.036560333 +// 2021-08-31 11:45:21.187922 -0500 CDT m=+0.035702296 package api -const GITVERSION = `758d1e91 Merge branch 'protoMainNet' into 'release'` +const GITVERSION = `48e1227b Merge branch 'hotfix/NoHostCooldown' into 'release'` const SEMVER = "2.8.0" const DEPENDENCIES = `module gitlab.com/elixxir/client @@ -24,13 +24,13 @@ require ( github.com/spf13/jwalterweatherman v1.1.0 github.com/spf13/viper v1.7.1 gitlab.com/elixxir/bloomfilter v0.0.0-20200930191214-10e9ac31b228 - gitlab.com/elixxir/comms v0.0.4-0.20210714201329-5efcbdfac3ca - gitlab.com/elixxir/crypto v0.0.7-0.20210714201100-45fb778a00fb + gitlab.com/elixxir/comms v0.0.4-0.20210823164208-0e219b367d23 + gitlab.com/elixxir/crypto v0.0.7-0.20210803232056-ba3ff44cc618 gitlab.com/elixxir/ekv v0.1.5 - gitlab.com/elixxir/primitives v0.0.3-0.20210714200942-a908050c230c - gitlab.com/xx_network/comms v0.0.4-0.20210714165756-8e3b40d71db1 - gitlab.com/xx_network/crypto v0.0.5-0.20210714165656-1ed326047ba9 - gitlab.com/xx_network/primitives v0.0.4-0.20210727175935-dd746a0d73de + gitlab.com/elixxir/primitives v0.0.3-0.20210803231939-7b924f78eaac + gitlab.com/xx_network/comms v0.0.4-0.20210813170223-ab758f0bbec5 + gitlab.com/xx_network/crypto v0.0.5-0.20210803231814-b18476a2257c + gitlab.com/xx_network/primitives v0.0.4-0.20210823190857-5d07df2f3a5f golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2 golang.org/x/net v0.0.0-20210525063256-abc453219eb5 google.golang.org/genproto v0.0.0-20210105202744-fe13368bc0e1 // indirect diff --git a/go.mod b/go.mod index 4374a2dd5a339fa386637cf5b8a10d5fcc367968..fabd0f56fd1a0d94de0d97c40a81962a6daf2653 100644 --- a/go.mod +++ b/go.mod @@ -23,7 +23,7 @@ require ( gitlab.com/elixxir/primitives v0.0.3-0.20210803231939-7b924f78eaac gitlab.com/xx_network/comms v0.0.4-0.20210813170223-ab758f0bbec5 gitlab.com/xx_network/crypto v0.0.5-0.20210803231814-b18476a2257c - gitlab.com/xx_network/primitives v0.0.4-0.20210803222745-e898d5e546e9 + gitlab.com/xx_network/primitives v0.0.4-0.20210823190857-5d07df2f3a5f golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2 golang.org/x/net v0.0.0-20210525063256-abc453219eb5 google.golang.org/genproto v0.0.0-20210105202744-fe13368bc0e1 // indirect diff --git a/go.sum b/go.sum index c8eb24d11ebf4db213445d279faf780c546faa42..91ba50390e2c10e39f32b1e9c8e2a2166c79793a 100644 --- a/go.sum +++ b/go.sum @@ -275,8 +275,9 @@ gitlab.com/xx_network/crypto v0.0.5-0.20210803231814-b18476a2257c/go.mod h1:e/5M gitlab.com/xx_network/primitives v0.0.0-20200803231956-9b192c57ea7c/go.mod h1:wtdCMr7DPePz9qwctNoAUzZtbOSHSedcK++3Df3psjA= gitlab.com/xx_network/primitives v0.0.0-20200804183002-f99f7a7284da/go.mod h1:OK9xevzWCaPO7b1wiluVJGk7R5ZsuC7pHY5hteZFQug= gitlab.com/xx_network/primitives v0.0.2/go.mod h1:cs0QlFpdMDI6lAo61lDRH2JZz+3aVkHy+QogOB6F/qc= -gitlab.com/xx_network/primitives v0.0.4-0.20210803222745-e898d5e546e9 h1:YP9xJXZLdSlSoxehK1oDyfUMUY5bNuSpWYXex4x13rc= gitlab.com/xx_network/primitives v0.0.4-0.20210803222745-e898d5e546e9/go.mod h1:9imZHvYwNFobxueSvVtHneZLk9wTK7HQTzxPm+zhFhE= +gitlab.com/xx_network/primitives v0.0.4-0.20210823190857-5d07df2f3a5f h1:xw/Mfl8UQXn+P3njaSKv1B6hX+Qe8LIfY7x4Q/Zjgm8= +gitlab.com/xx_network/primitives v0.0.4-0.20210823190857-5d07df2f3a5f/go.mod h1:9imZHvYwNFobxueSvVtHneZLk9wTK7HQTzxPm+zhFhE= gitlab.com/xx_network/ring v0.0.3-0.20210527191221-ce3f170aabd5 h1:FY+4Rh1Q2rgLyv10aKJjhWApuKRCR/054XhreudfAvw= gitlab.com/xx_network/ring v0.0.3-0.20210527191221-ce3f170aabd5/go.mod h1:aLzpP2TiZTQut/PVHR40EJAomzugDdHXetbieRClXIM= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= diff --git a/network/gateway/hostPool.go b/network/gateway/hostPool.go index 52139d1a185b760c9d23cf408e65a86c7d2c67bd..46dfe501bf4bc604d39ad6798d474088c9c5e3f0 100644 --- a/network/gateway/hostPool.go +++ b/network/gateway/hostPool.go @@ -281,7 +281,7 @@ func (h *HostPool) checkReplace(hostId *id.ID, hostErr error) (bool, error) { if hostErr != nil { for _, errString := range errorsList { if strings.Contains(hostErr.Error(), errString) { - // Host needs replaced, flag and continue + // Host needs to be replaced, flag and continue doReplace = true break } @@ -319,6 +319,15 @@ func (h *HostPool) forceReplace(oldPoolIndex uint32) error { return errors.WithMessage(err, "failed to get Gateway for pruning") } + // Verify the Gateway's Node is not Stale before adding to HostPool + nodeId := gwId.DeepCopy() + nodeId.SetType(id.Node) + nodeNdfIdx := h.ndfMap[*nodeId] + isNodeStale := h.ndf.Nodes[nodeNdfIdx].Status != ndf.Stale + if isNodeStale { + continue + } + // Verify the new GwId is not already in the hostMap if _, ok := h.hostMap[*gwId]; !ok { // If it is a new GwId, replace the old Host with the new Host @@ -434,7 +443,7 @@ func convertNdfToMap(ndf *ndf.NetworkDefinition) (map[id.ID]int, error) { return result, nil } - // Process gateway Id's into set + // Process gateway Ids into set for i := range ndf.Gateways { gw := ndf.Gateways[i] gwId, err := id.Unmarshal(gw.ID) @@ -444,6 +453,16 @@ func convertNdfToMap(ndf *ndf.NetworkDefinition) (map[id.ID]int, error) { result[*gwId] = i } + // Process node Ids into set + for i := range ndf.Nodes { + node := ndf.Nodes[i] + nodeId, err := id.Unmarshal(node.ID) + if err != nil { + return nil, err + } + result[*nodeId] = i + } + return result, nil }