diff --git a/contentserver.graffle b/contentserver.graffle index 6e61615..5176c77 100644 Binary files a/contentserver.graffle and b/contentserver.graffle differ diff --git a/repo/loader.go b/repo/loader.go index ac42e78..fa1cc4b 100644 --- a/repo/loader.go +++ b/repo/loader.go @@ -93,6 +93,7 @@ func (repo *Repo) _updateDimension(dimension string, newNode *content.RepoNode) // --------------------------------------------- + // copy old datastructure to prevent concurrent map access // collect other dimension in the Directory newRepoDirectory := map[string]*Dimension{} for d, D := range repo.Directory { diff --git a/repo/repo.go b/repo/repo.go index 9acbe89..ffe6146 100644 --- a/repo/repo.go +++ b/repo/repo.go @@ -96,6 +96,11 @@ func (repo *Repo) getNodes(nodeRequests map[string]*requests.Node, env *requests path = []*content.Item{} ) for nodeName, nodeRequest := range nodeRequests { + + if nodeName == "" || nodeRequest.ID == "" { + Log.Error("invalid node request", zap.Error(errors.New("nodeName or nodeRequest.ID empty"))) + continue + } Log.Debug("adding node", zap.String("name", nodeName), zap.String("requestID", nodeRequest.ID)) groups := env.Groups