diff --git a/aether-dependency-resolver/src/org/jetbrains/idea/maven/aether/ArtifactRepositoryManager.java b/aether-dependency-resolver/src/org/jetbrains/idea/maven/aether/ArtifactRepositoryManager.java index e23d45b9bfa0..19563ecb585a 100644 --- a/aether-dependency-resolver/src/org/jetbrains/idea/maven/aether/ArtifactRepositoryManager.java +++ b/aether-dependency-resolver/src/org/jetbrains/idea/maven/aether/ArtifactRepositoryManager.java @@ -162,8 +162,11 @@ public final class ArtifactRepositoryManager { // Disable transfer errors caching to force re-request missing artifacts and metadata on network failures. // Despite this, some errors are still cached in session data, and for proper retries work we must reset this data after failure // what's performed by retryWithClearSessionData() - var artifactCachePolicy = ResolutionErrorPolicy.CACHE_NOT_FOUND; - var metadataCachePolicy = ResolutionErrorPolicy.CACHE_NOT_FOUND; + // + // a note: ResolutionErrorPolicy.CACHE_NOT_FOUND is not suitable because 5xx response is still cached in local repository and + // not re-requested, see IJI-1457 + var artifactCachePolicy = ResolutionErrorPolicy.CACHE_DISABLED; + var metadataCachePolicy = ResolutionErrorPolicy.CACHE_DISABLED; session.setResolutionErrorPolicy(new SimpleResolutionErrorPolicy(artifactCachePolicy, metadataCachePolicy)); session.setCache(new DefaultRepositoryCache());