build: retry transient JDT LS p2 downloads - #1898
Open
wenytang-ms wants to merge 1 commit into
Open
Conversation
The JDT LS snapshot repository has no p2 mirrors, and Tycho 4.0.5 does not retry a direct connection reset. Let Azure Pipelines retry the build-plugin task on the same agent so the Maven and p2 caches are reused and only the missing artifact is fetched again. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: ac225268-483d-4498-a08f-fe79a87d4d2e
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Why
Scheduled build 31864478 failed while Tycho was downloading:
The server reset that connection. Tycho 4.0.5 then tried its local cache and failed the build because the artifact had not completed downloading.
This is not a Maven/CFS routing failure. A pre-CFS build, 31824861, downloaded the same artifact from the same JDT LS snapshot URL successfully, and that repository's
artifacts.xmldoes not define p2 mirrors. The failed build also restored its Maven artifacts fromvscjavasuccessfully before the p2 transfer failed.What changed
Set
retryCountOnTaskFailure: 2onnpm run build-pluginin the CI, nightly, and RC ADO pipelines.Azure Pipelines retries the task on the same agent. Maven's local repository and Tycho's p2 cache therefore retain every completed download, so a retry only needs to fetch the missing artifact. This keeps transient network handling in the pipeline rather than adding retry code to the product or Node build script.
No runtime source, Maven resolution, target platform, or build output is changed.
Verification