Skip to content

Force remote metadata checks on Muzzle retries - #12622

Draft
aalbertjay wants to merge 1 commit into
DataDog:masterfrom
aalbertjay:codex/muzzle-force-aether-retries
Draft

aalbertjay wants to merge 1 commit into
DataDog:masterfrom
aalbertjay:codex/muzzle-force-aether-retries

Conversation

@aalbertjay

Copy link
Copy Markdown
Contributor

Summary

  • run Muzzle retries with Aether's always update policy
  • give every retry fresh Aether SessionData so an earlier failed update check is not replayed
  • preserve the original repository session configuration and local repository
  • add an integration-style regression test that publishes metadata after the first cached miss and verifies the second attempt fetches it

Why

Aether records failed metadata transfers in the local repository and also memoizes update checks in the session. As a result, Muzzle's existing immediate and backoff retries return the first cached failure without issuing another remote request. A fresh copied session with a fresh SessionData and UPDATE_POLICY_ALWAYS makes each retry real.

Testing

  • ./gradlew -p buildSrc :test -PrunBuildSrcTests --tests datadog.gradle.plugin.muzzle.MuzzleMavenRepoUtilsTest -x :call-site-instrumentation-plugin:test -x :modifiable-config-agent:test
  • ./gradlew -p buildSrc spotlessCheck

@aalbertjay

Copy link
Copy Markdown
Contributor Author

@bric3 CI on this fork PR is failing before checkout because dd-octo-sts does not receive OIDC variables for fork-originated workflows. Could you please mirror this to an internal DataDog/dd-trace-java branch, as you did for #12539 in #12592? The repository build check and focused local tests pass.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant