-
Notifications
You must be signed in to change notification settings - Fork 583
Description
Description:
Describe the issue.
We are leveraging the Updates field in the Snapshot
gateway/internal/message/watchutil.go
Line 102 in 7c4bf61
| for _, update := range snapshot.Updates { |
Subscribe
This allows us to perform smaller unit of work ( per key instead of map) ops like deleting an IR in the xds subscriber but this means that for a cases where the message is in state of the world form, like ControllerResources , we get multiple updates for the same key (e.g. deployment rollout of 100 pods, causing 100 endpoints to be gradually updated) which causes multiple iterations of translation, each iteration delaying convergence .
We can do better here by merging the updates based on key and operation (mainly to avoid skipping a delete) reducing duplicate operations .
[optional Relevant Links:]
Any extra documentation required to understand the issue.