Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Checklist prior to review
Response backoff is a way to rate limit clients from sending data too often.
Let's say we have a Zone CP that has many constant changes to Dataplane objects. With the default 1s
KUMA_MULTIZONE_ZONE_KDS_REFRESH_INTERVAL
we will aggregate changes every 1s and send this to global. However, Global CP may want to slow down Zone CP from changing resources too often.The communication looks like this
Global CP sends DeltaDiscoveryRequest
Zone CP sends DeltaDiscoveryResponse with DP list
Global CP saves DPPs and sends ACK (DeltaDiscoveryRequest)
Zone CP sends DeltaDiscoveryResponse with DP list
Global CP saves DPPs and sends ACK...
If Global CP waits to send ACK after it saves DPPs, Zone CP won't send a new list. Instead, it will aggregate changes over time.
This is a setting for all resources, NOT per resource type because we have one loop of DeltaDiscoveryResponse. We don't wait for the initial DeltaDiscoveryResponse because when Zone CP connects first, it sends a request for every resource type.
The default is set to 0 so we won't change the current behavior.
syscall.Mkfifo
have equivalent implementation on the other OS --UPGRADE.md
? --> Changelog:
entry here or add aci/
label to run fewer/more tests?