[
https://issues.apache.org/jira/browse/MBUILDCACHE-32?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17742659#comment-17742659
]
ASF GitHub Bot commented on MBUILDCACHE-32:
-------------------------------------------
ferdnyc commented on code in PR #33:
URL:
https://github.com/apache/maven-build-cache-extension/pull/33#discussion_r1261966151
##########
src/main/java/org/apache/maven/buildcache/RemoteCacheRepositoryImpl.java:
##########
@@ -165,9 +166,28 @@ public Optional<byte[]> getResourceContent( String url )
throws IOException
transporter.get( task );
return Optional.of( task.getDataBytes() );
}
+ catch ( ResourceDoesNotExistException e )
+ {
+ if ( LOGGER.isDebugEnabled() )
+ {
+ LOGGER.debug( "Cache item not found: {}", getFullUrl( url ), e
);
+ }
+ else
+ {
+ LOGGER.info( "Cache item not found: {}", getFullUrl( url ) );
+ }
+ return Optional.empty();
+ }
catch ( Exception e )
{
- LOGGER.info( "Cannot download {}", getFullUrl( url ), e );
+ if ( LOGGER.isDebugEnabled() )
+ {
+ LOGGER.debug( "Cannot download cache item {}", getFullUrl( url
), e );
+ }
+ else
+ {
+ LOGGER.error( "Cannot download cache item {}: {}", getFullUrl(
url ), e );
+ }
Review Comment:
@alexthomasmc Is this the remote cache "not working", though, or can this
also just represent a cache miss / expired cache?
Cache misses certainly are not errors, heck they're not even problems,
they're a standard aspect of how caching works. Data stored in a cache can be
wiped out at any moment, for any reason (or even no reason at all). Caches go
missing all the time.
When a build system fails to obtain a cached artifact, it simply needs to
generate it anew. It can do that, it has the technology.
> Do not print exception when probing builds in remote repo
> ---------------------------------------------------------
>
> Key: MBUILDCACHE-32
> URL: https://issues.apache.org/jira/browse/MBUILDCACHE-32
> Project: Maven Build Cache Extension
> Issue Type: Bug
> Reporter: Alexander Ashitkin
> Priority: Major
> Labels: pull-request-available
> Original Estimate: 24h
> Remaining Estimate: 24h
>
> When cache engine tries to discover existing cache by checksum, it sends get
> request.
> This request is normally getting 404s, because cache is not guaranteed to
> exist.
> It's a normal situation and exception should not be printed in such case as
> it meaninglessly pollutes logs:
> {code:java}
> org.apache.maven.wagon.ResourceDoesNotExistException: resource missing at
> https://my-cache/.../buildinfo.xml, status: 404 Not Found
> at
> org.apache.maven.wagon.shared.http.AbstractHttpClientWagon.fillInputData
> (AbstractHttpClientWagon.java:1191)
> at
> org.apache.maven.wagon.shared.http.AbstractHttpClientWagon.fillInputData
> (AbstractHttpClientWagon.java:1140)
> at org.apache.maven.wagon.StreamWagon.getInputStream
> (StreamWagon.java:126)
> at org.apache.maven.wagon.StreamWagon.getIfNewerToStream
> (StreamWagon.java:226)
> at org.apache.maven.wagon.StreamWagon.getToStream (StreamWagon.java:262)
> at org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner.run
> (WagonTransporter.java:533)
> at org.eclipse.aether.transport.wagon.WagonTransporter.execute
> (WagonTransporter.java:425)
> at org.eclipse.aether.transport.wagon.WagonTransporter.get
> (WagonTransporter.java:400)
> at
> org.apache.maven.buildcache.RemoteCacheRepositoryImpl.getResourceContent
> (RemoteCacheRepositoryImpl.java:165)
> at org.apache.maven.buildcache.RemoteCacheRepositoryImpl.findBuild
> (RemoteCacheRepositoryImpl.java:114)
> at org.apache.maven.buildcache.LocalCacheRepositoryImpl.findBuild
> (LocalCacheRepositoryImpl.java:183)
> at org.apache.maven.buildcache.CacheControllerImpl.findCachedBuild
> (CacheControllerImpl.java:212)
> at org.apache.maven.buildcache.CacheControllerImpl.findCachedBuild
> (CacheControllerImpl.java:179)
> at org.apache.maven.buildcache.BuildCacheMojosExecutionStrategy.execute
> (BuildCacheMojosExecutionStrategy.java:114)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:179)
> {code}
> {{Need to create method similar to
> RemoteCacheRepositoryImpl#getResourceContent, but }}{{getResourceContentQuiet
> and use it when probing buildinfo.xml. the method should not log exceptions}}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)