Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from istio:master #2459

Merged
merged 12 commits into from
Jun 24, 2024
Merged

[pull] master from istio:master #2459

merged 12 commits into from
Jun 24, 2024

Conversation

pull[bot]
Copy link

@pull pull bot commented Jun 22, 2024

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

howardjohn and others added 12 commits June 21, 2024 18:47
* Enhancements to proxy-status

* add note
* manifests: fix gateways.securityContext not work

Signed-off-by: Tianpeng Wang <[email protected]>

* make gen

---------

Signed-off-by: Tianpeng Wang <[email protected]>
* Fix sidecar DNS proxying with dual stack

Fixes #51608

* Add test
)

I am aware there are no automated tests on this; I am working to add
these but it is very challenging to automate these types of tests that
there is zero-downtime on rollout. I think its best to get this in
in-parallel to test development.
* Don't reset the jwks refresh ticker on URI fetch errors

When there is an error fetching a JWKS URI in the main flow (i.e. when
generating configuration), an immediate background refresh is triggered.
However this is only a partial refresh and will only fetch URIs that don't have
an entry in the cache, i.e. the URIs that had errors, in the hope that the
requests will succeed and the keys can be sent to the affected proxies.

When this partial refresh was triggered, the background refresh ticker was
being reset. So there would be a longer delay before any URIs already in the
cache would be fetched again to see if there are any changes.

The default interval between refreshes is 20 minutes, and there is exponential
backoff on failure up to 60 minutes, so in the case of a busy istiod, and a
single invalid URI, there may never be an interval that doesn't trigger this
partial refresh. In this case the cached entries never end up getting updated.

This change makes it so that the partial refresh triggered on an error does
not reset the ticker used for the full background refresh.

* Add release notes

* Log instead of fail in goroutine (found by lint)

* Fix data race by using different variable in test
@pull pull bot merged commit efbfe15 into Skarlso:master Jun 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
6 participants