SKYOPS-58233 - Skip the requests with empty paths (#118)
Co-authored-by: balasoiu <balasoiu@adobe.com>
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPublisher.java b/src/main/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPublisher.java
index 792e930..fdbb9ae 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPublisher.java
+++ b/src/main/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPublisher.java
@@ -259,6 +259,9 @@
throws DistributionException {
final PackageMessage pkg;
try {
+ if (request.getPaths().length == 0) {
+ throw new DistributionException("Empty paths");
+ }
pkg = timed(distributionMetricsService.getBuildPackageDuration(), () -> factory.create(packageBuilder, resourceResolver, pubAgentName, request));
} catch (Exception e) {
distributionMetricsService.getDroppedRequests().mark();
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPublisherTest.java b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPublisherTest.java
index a7daea9..f5eaeb3 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPublisherTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPublisherTest.java
@@ -267,6 +267,13 @@
assertEquals("Wrong getQueue error counter",1, counter.getCount());
}
+ @Test(expected = DistributionException.class)
+ public void testEmptyPaths() throws Exception {
+ DistributionRequest request = new SimpleDistributionRequest(DistributionRequestType.ADD, new String[0]);
+ when(distributionMetricsService.getDroppedRequests()).thenReturn(meter);
+ publisher.execute(resourceResolver, request);
+ }
+
@SuppressWarnings("unchecked")
private void executeAndCheck(DistributionRequest request) throws IOException, DistributionException {
PackageMessage pkg = mockPackage(request);