envoyproxy / envoyproxy/go-control-plane

Incremental snapshot update support for DeltaXDS

Open
#423 0 comments 3 reactions 0 assignees View on GitHub
area/delta_xds design proposal help wanted
Dominant language
Go
Stars
1.7k
Forks
567
Avg merge
15h 46m
Merged PRs (30d)
11

Description

The work in progress to add support for DeltaXDS relies on computing per resource versions from a snapshot every time it is updated, pushing updates if the computed version differs from the computed versions of the previous snapshot. This ensures that we only update the resources that change, but requires substantial computation per snapshot update.

We should support 1) specifying the per-resource versions explicitly and 2) partial snapshot updates. This would enable updating a small subset m of a snapshot of size n in O(m) instead of O(n), which would provide a huge improvement when dealing with a large number of resources.

Whether this would be compatible with the current SimpleCache implementation will need some investigation, it might warrant a new cache implementation that provides a more incremental API.

FYI @alecholmez (no action required)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.