You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by tm...@apache.org on 2021/07/13 08:02:35 UTC
[sling-org-apache-sling-distribution-journal] 01/01: SLING-10603 -
Address sonar probable bug report
This is an automated email from the ASF dual-hosted git repository.
tmaret pushed a commit to branch SLING-10603
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-distribution-journal.git
commit ce53d488514f625e9c04552f9e5bc9a38a41264c
Author: tmaret <tm...@adobe.com>
AuthorDate: Tue Jul 13 09:38:12 2021 +0200
SLING-10603 - Address sonar probable bug report
* Avoid NPE
* Remove unused imports
SLING-10603 - Remove unused import
SLING-10603 - Remove unused import
SLING-10603 - Avoid NPE
---
.../sling/distribution/journal/bookkeeper/BookKeeperFactory.java | 1 -
.../apache/sling/distribution/journal/impl/publisher/AgentState.java | 2 ++
.../apache/sling/distribution/journal/queue/impl/PubQueueCache.java | 3 ++-
.../sling/distribution/journal/queue/impl/PubQueueProviderImpl.java | 5 ++---
4 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/src/main/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeperFactory.java b/src/main/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeperFactory.java
index 3b4b0e0..3d1d449 100644
--- a/src/main/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeperFactory.java
+++ b/src/main/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeperFactory.java
@@ -30,7 +30,6 @@ import org.apache.sling.distribution.journal.shared.DistributionMetricsService;
import org.apache.sling.distribution.packaging.DistributionPackageBuilder;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
-import org.osgi.service.component.annotations.ReferencePolicyOption;
import org.osgi.service.event.EventAdmin;
@Component(service = BookKeeperFactory.class)
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/publisher/AgentState.java b/src/main/java/org/apache/sling/distribution/journal/impl/publisher/AgentState.java
index 0b475fb..b0cd53e 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/publisher/AgentState.java
+++ b/src/main/java/org/apache/sling/distribution/journal/impl/publisher/AgentState.java
@@ -18,6 +18,7 @@
*/
package org.apache.sling.distribution.journal.impl.publisher;
+import java.util.Objects;
import java.util.stream.Stream;
import java.util.stream.StreamSupport;
@@ -54,6 +55,7 @@ public class AgentState {
private static Stream<DistributionQueueStatus> queueStatuses(DistributionAgent agent) {
return StreamSupport.stream(agent.getQueueNames().spliterator(), true)
.map(agent::getQueue)
+ .filter(Objects::nonNull)
.map(DistributionQueue::getStatus);
}
diff --git a/src/main/java/org/apache/sling/distribution/journal/queue/impl/PubQueueCache.java b/src/main/java/org/apache/sling/distribution/journal/queue/impl/PubQueueCache.java
index 09615e7..bdb6e94 100644
--- a/src/main/java/org/apache/sling/distribution/journal/queue/impl/PubQueueCache.java
+++ b/src/main/java/org/apache/sling/distribution/journal/queue/impl/PubQueueCache.java
@@ -21,6 +21,7 @@ package org.apache.sling.distribution.journal.queue.impl;
import static java.util.Collections.singletonList;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
+import static java.util.concurrent.TimeUnit.MINUTES;
import static java.util.stream.Collectors.groupingBy;
import java.io.Closeable;
@@ -65,7 +66,7 @@ public class PubQueueCache {
private static final Logger LOG = LoggerFactory.getLogger(PubQueueCache.class);
- private static final long MAX_FETCH_WAIT_MS = 60 * 1000l; // 1 minute
+ private static final long MAX_FETCH_WAIT_MS = MINUTES.toMillis(1); // 1 minute
/**
* (pubAgentName x OffsetQueue)
diff --git a/src/main/java/org/apache/sling/distribution/journal/queue/impl/PubQueueProviderImpl.java b/src/main/java/org/apache/sling/distribution/journal/queue/impl/PubQueueProviderImpl.java
index a71acf3..eebbc4c 100644
--- a/src/main/java/org/apache/sling/distribution/journal/queue/impl/PubQueueProviderImpl.java
+++ b/src/main/java/org/apache/sling/distribution/journal/queue/impl/PubQueueProviderImpl.java
@@ -181,12 +181,11 @@ public class PubQueueProviderImpl implements PubQueueProvider, Runnable {
AgentId subAgentId = new AgentId(StringUtils.substringBeforeLast(queueName, "-error"));
String errorQueueKey = getErrorQueueKey(pubAgentName, subAgentId.getSlingId(), subAgentId.getAgentName());
OffsetQueue<Long> errorQueue = errorQueues.getOrDefault(errorQueueKey, new OffsetQueueImpl<>());
- long headOffset = errorQueue.getHeadOffset();
+ final Long minReferencedOffset = errorQueue.getHeadItem();
final OffsetQueue<DistributionQueueItem> agentQueue;
- if (headOffset < 0) {
+ if (minReferencedOffset == null) {
agentQueue = new OffsetQueueImpl<>();
} else {
- long minReferencedOffset = errorQueue.getItem(headOffset);
agentQueue = getOffsetQueue(pubAgentName, minReferencedOffset);
}