[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[p2-dev] [mirror] Increasing download robustness when downloading artifacts


The bug report can be found here: https://bugs.eclipse.org/bugs/show_bug.cgi?id=257230

As it stands it is a known problem that the Mirror Application has a tendency to fail while downloading artifacts. As a temporary work around I implemented the -ignoreErrors argument but this is not an acceptable solution.

To summary the bug report, getArtifacts(IArtifactRequest[]) implements code for retrying and using mirrors and eventually calls getArtifact(IArtifactDescriptor). The Mirror Application calls getRawArtifact(IArtifactDescriptor) which uses the same download code as getArtifact(IArtifactDescriptor). The result is these two calls do not retry failed downloads.

As I see it, there are two options: move the retry code into the getArtifact and getRawArtifact methods or modify the mirror application to use IArtifactRequests. Because we don't want to the mirror application to perform the processing steps of an artifact this will require a getRawArtifact(IArtifactRequest[]) or possibly a getArtifact(IArtifactRequest[], boolean) where the boolean denotes if the artifact should be raw or processed.