This is an automated email from the ASF dual-hosted git repository.
cziegeler pushed a commit to branch master
in repository
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-distribution-core.git
The following commit(s) were added to refs/heads/master by this push:
new 95db95d1 SLING-11587: SimpleDistributionQueueProvider fails to close
checkpoint file
new 63ede760 Merge pull request #65 from reschke/SLING-11587
95db95d1 is described below
commit 95db95d1d0681e484bcd113555f327b8da6f6159
Author: Julian Reschke <[email protected]>
AuthorDate: Sat Sep 17 08:44:05 2022 +0100
SLING-11587: SimpleDistributionQueueProvider fails to close checkpoint file
---
.../queue/impl/simple/SimpleDistributionQueueProvider.java | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git
a/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueProvider.java
b/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueProvider.java
index 9315ee09..286b975c 100644
---
a/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueProvider.java
+++
b/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueProvider.java
@@ -24,6 +24,7 @@ import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FilenameFilter;
+import java.io.IOException;
import java.util.Collection;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@@ -125,8 +126,8 @@ public class SimpleDistributionQueueProvider implements
DistributionQueueProvide
};
for (File qf : checkpointDirectory.listFiles(filenameFilter)) {
log.info("recovering from checkpoint {}", qf);
- try {
- LineIterator lineIterator = IOUtils.lineIterator(new
FileReader(qf));
+ try (FileReader fr = new FileReader(qf)) {
+ LineIterator lineIterator = IOUtils.lineIterator(fr);
while (lineIterator.hasNext()) {
String line = lineIterator.nextLine();
DistributionQueueItem item =
mapper.readQueueItem(line);
@@ -137,6 +138,8 @@ public class SimpleDistributionQueueProvider implements
DistributionQueueProvide
log.warn("could not read checkpoint file {}",
qf.getAbsolutePath());
} catch (JsonException e) {
log.warn("could not parse info from checkpoint file
{}", qf.getAbsolutePath());
+ } catch (IOException e) {
+ log.warn("IO error on checkpoint file {}",
qf.getAbsolutePath());
}
}
}