mirror of
https://github.com/weaveworks/scope.git
synced 2026-03-05 19:21:46 +00:00
Merge pull request #2713 from weaveworks/2708-reset-nodes-when-scope-app-restarted
Reset nodes in frontend when scope-app restarted
This commit is contained in:
@@ -551,7 +551,7 @@ export function receiveNodesDelta(delta) {
|
||||
dispatch({ type: ActionTypes.FINISH_TIME_TRAVEL_TRANSITION });
|
||||
}
|
||||
|
||||
const hasChanges = delta.add || delta.update || delta.remove;
|
||||
const hasChanges = delta.add || delta.update || delta.remove || delta.reset;
|
||||
if (hasChanges) {
|
||||
dispatch({
|
||||
type: ActionTypes.RECEIVE_NODES_DELTA,
|
||||
|
||||
@@ -582,7 +582,12 @@ export function rootReducer(state = initialState, action) {
|
||||
log('RECEIVE_NODES_DELTA',
|
||||
'remove', size(action.delta.remove),
|
||||
'update', size(action.delta.update),
|
||||
'add', size(action.delta.add));
|
||||
'add', size(action.delta.add),
|
||||
'reset', action.delta.reset);
|
||||
|
||||
if (action.delta.reset) {
|
||||
state = state.set('nodes', makeMap());
|
||||
}
|
||||
|
||||
// remove nodes that no longer exist
|
||||
each(action.delta.remove, (nodeId) => {
|
||||
|
||||
@@ -10,11 +10,12 @@ type Diff struct {
|
||||
Add []NodeSummary `json:"add"`
|
||||
Update []NodeSummary `json:"update"`
|
||||
Remove []string `json:"remove"`
|
||||
Reset bool `json:"reset,omitempty"`
|
||||
}
|
||||
|
||||
// TopoDiff gives you the diff to get from A to B.
|
||||
func TopoDiff(a, b NodeSummaries) Diff {
|
||||
diff := Diff{}
|
||||
diff := Diff{Reset: a == nil}
|
||||
|
||||
notSeen := map[string]struct{}{}
|
||||
for k := range a {
|
||||
|
||||
@@ -79,6 +79,22 @@ func TestTopoDiff(t *testing.T) {
|
||||
Update: []detailed.NodeSummary{nodeap},
|
||||
},
|
||||
},
|
||||
{
|
||||
label: "no previous nodes",
|
||||
have: detailed.TopoDiff(nil, nodes(nodea)),
|
||||
want: detailed.Diff{
|
||||
Add: []detailed.NodeSummary{nodea},
|
||||
Reset: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
label: "empty previous nodes",
|
||||
have: detailed.TopoDiff(nodes(), nodes(nodea)),
|
||||
want: detailed.Diff{
|
||||
Add: []detailed.NodeSummary{nodea},
|
||||
Reset: false,
|
||||
},
|
||||
},
|
||||
} {
|
||||
sort.Strings(c.have.Remove)
|
||||
sort.Sort(ByID(c.have.Add))
|
||||
|
||||
Reference in New Issue
Block a user