Skip to content

Commit 3b56263

Browse files
committed
graph: handle metadata update error in memory backend
Need to handle such error other update event can be generated for deleted graph elements.
1 parent 72d7ce8 commit 3b56263

File tree

3 files changed

+16
-4
lines changed

3 files changed

+16
-4
lines changed

graffiti/graph/elasticsearch.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ const graphElementMapping = `
4343
"path_match": "*",
4444
"path_unmatch": "*.Extra.*",
4545
"match_mapping_type": "string",
46-
"mapping": {
46+
"mapping": {
4747
"type": "keyword"
4848
}
4949
}

graffiti/graph/memory.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,18 @@ type MemoryBackend struct {
4444

4545
// MetadataUpdated return true
4646
func (m *MemoryBackend) MetadataUpdated(i interface{}) error {
47+
switch i := i.(type) {
48+
case *Node:
49+
if _, ok := m.nodes[i.ID]; !ok {
50+
51+
return ErrNodeNotFound
52+
}
53+
case *Edge:
54+
if _, ok := m.edges[i.ID]; !ok {
55+
return ErrEdgeNotFound
56+
}
57+
}
58+
4759
return nil
4860
}
4961

graffiti/hub/pod_endpoint.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,14 +76,14 @@ func (t *TopologyAgentEndpoint) OnStructMessage(c ws.Speaker, msg *ws.StructMess
7676
for _, n := range r.Nodes {
7777
if t.Graph.GetNode(n.ID) == nil {
7878
if err := t.Graph.NodeAdded(n); err != nil {
79-
logging.GetLogger().Error(err)
79+
logging.GetLogger().Errorf("%s, %+v", err, n)
8080
}
8181
}
8282
}
8383
for _, e := range r.Edges {
8484
if t.Graph.GetEdge(e.ID) == nil {
8585
if err := t.Graph.EdgeAdded(e); err != nil {
86-
logging.GetLogger().Error(err)
86+
logging.GetLogger().Errorf("%s, %+v", err, e)
8787
}
8888
}
8989
}
@@ -102,7 +102,7 @@ func (t *TopologyAgentEndpoint) OnStructMessage(c ws.Speaker, msg *ws.StructMess
102102
}
103103

104104
if err != nil {
105-
logging.GetLogger().Error(err)
105+
logging.GetLogger().Errorf("%s, %+v", err, obj)
106106
}
107107
}
108108

0 commit comments

Comments
 (0)