summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2023-12-06 13:49:25 +0100
committerHarald Musum <musum@yahooinc.com>2023-12-06 13:49:25 +0100
commit7578126333e730ceacd490515d646909dbbddd15 (patch)
tree1316f908e10a0744208fb879a26dedf9e0f34993
parent60ff007d5e7fedeecb7cc242cd363e2575ee8578 (diff)
Add start method to start processing files
Also lower log level in one place
-rw-r--r--container-search/src/main/java/com/yahoo/search/logging/AbstractSpoolingLogger.java10
-rw-r--r--container-search/src/main/java/com/yahoo/search/logging/Spooler.java2
2 files changed, 8 insertions, 4 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/logging/AbstractSpoolingLogger.java b/container-search/src/main/java/com/yahoo/search/logging/AbstractSpoolingLogger.java
index 1f57de22f55..64be0556cff 100644
--- a/container-search/src/main/java/com/yahoo/search/logging/AbstractSpoolingLogger.java
+++ b/container-search/src/main/java/com/yahoo/search/logging/AbstractSpoolingLogger.java
@@ -12,7 +12,8 @@ import java.util.logging.Level;
/**
* Abstract class that deals with storing event entries on disk and making sure all stored
- * entries are eventually sent
+ * entries are eventually sent. Note that the {@link #start()} method needs to be called by subclasses as
+ * the last statement in their constructor.
*
* @author hmusum
*/
@@ -31,8 +32,11 @@ public abstract class AbstractSpoolingLogger extends AbstractThreadedLogger impl
public AbstractSpoolingLogger(Spooler spooler) {
this.spooler = spooler;
this.executorService = new ScheduledThreadPoolExecutor(1, new DaemonThreadFactory("AbstractSpoolingLogger-send-"));
- // Delay some time before starting to process files, subclasses might need to be constructed fully first
- this.executorService.scheduleWithFixedDelay(this, 5, 1L, TimeUnit.SECONDS);
+ }
+
+ /** Start processing files, must be called by subclasses */
+ public void start() {
+ this.executorService.scheduleWithFixedDelay(this, 0, 1L, TimeUnit.SECONDS);
}
public void run() {
diff --git a/container-search/src/main/java/com/yahoo/search/logging/Spooler.java b/container-search/src/main/java/com/yahoo/search/logging/Spooler.java
index 70ba1be2662..8cd9623c368 100644
--- a/container-search/src/main/java/com/yahoo/search/logging/Spooler.java
+++ b/container-search/src/main/java/com/yahoo/search/logging/Spooler.java
@@ -190,7 +190,7 @@ public class Spooler {
String fileName = currentFileName();
Path file = spoolPath.resolve(processingPath).resolve(fileName);
try {
- log.log(Level.FINE, () -> "Writing entry " + entryCounter.get() + " (" + entry.serialize() + ") to file " + fileName);
+ log.log(Level.FINEST, () -> "Writing entry " + entryCounter.get() + " (" + entry.serialize() + ") to file " + fileName);
Files.writeString(file, entry.serialize() + "\n", StandardOpenOption.WRITE, StandardOpenOption.APPEND, StandardOpenOption.CREATE);
firstWriteTimestamp.compareAndExchange(Instant.EPOCH, clock.instant());
entryCounter.incrementAndGet();