You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by gn...@apache.org on 2022/05/17 07:49:21 UTC
[maven-build-cache-extension] 01/02: Fix possible NPE caused by concurrency
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-build-cache-extension.git
commit 0191a6f73e40ccf6edb9a3ea28299e6325feaae2
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Mon May 16 20:56:36 2022 +0200
Fix possible NPE caused by concurrency
---
.../java/org/apache/maven/buildcache/RemoteCacheRepositoryImpl.java | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/main/java/org/apache/maven/buildcache/RemoteCacheRepositoryImpl.java b/src/main/java/org/apache/maven/buildcache/RemoteCacheRepositoryImpl.java
index b4664fd..b04e3e8 100644
--- a/src/main/java/org/apache/maven/buildcache/RemoteCacheRepositoryImpl.java
+++ b/src/main/java/org/apache/maven/buildcache/RemoteCacheRepositoryImpl.java
@@ -231,7 +231,7 @@ public class RemoteCacheRepositoryImpl implements RemoteCacheRepository, Closeab
}
}
- private final AtomicReference<Optional<CacheReport>> cacheReportSupplier = new AtomicReference<>();
+ private final AtomicReference<CacheReport> cacheReportSupplier = new AtomicReference<>();
@Nonnull
@Override
@@ -285,7 +285,7 @@ public class RemoteCacheRepositoryImpl implements RemoteCacheRepository, Closeab
private Optional<CacheReport> findCacheInfo()
{
- Optional<CacheReport> report = cacheReportSupplier.get();
+ Optional<CacheReport> report = Optional.ofNullable( cacheReportSupplier.get() );
if ( !report.isPresent() )
{
try
@@ -299,7 +299,7 @@ public class RemoteCacheRepositoryImpl implements RemoteCacheRepository, Closeab
cacheConfig.getBaselineCacheUrl(), e );
report = Optional.empty();
}
- cacheReportSupplier.compareAndSet( null, report );
+ cacheReportSupplier.compareAndSet( null, report.orElse( null ) );
}
return report;
}