From 4d213a2b23b589d5919ac35a2060cc55c2a8f74c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Brage=20Skj=C3=B8nborg?= Date: Thu, 22 Jan 2026 02:45:19 +0100 Subject: [PATCH] Logging + diagnostics --- .../no/iktdev/eventi/events/EventPollerImplementation.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/no/iktdev/eventi/events/EventPollerImplementation.kt b/src/main/kotlin/no/iktdev/eventi/events/EventPollerImplementation.kt index 955a2b1..5ba9b9f 100644 --- a/src/main/kotlin/no/iktdev/eventi/events/EventPollerImplementation.kt +++ b/src/main/kotlin/no/iktdev/eventi/events/EventPollerImplementation.kt @@ -20,6 +20,7 @@ abstract class EventPollerImplementation( private val log = KotlinLogging.logger {} open suspend fun start() { + log.info { "EventPoller starting with initial backoff=$backoff" } while (true) { try { pollOnce() @@ -32,9 +33,12 @@ abstract class EventPollerImplementation( } suspend fun pollOnce() { + val pollStartedAt = LocalDateTime.now() + log.debug { "Polling for new events" } val newPersisted = eventStore.getPersistedEventsAfter(lastSeenTime) if (newPersisted.isEmpty()) { + log.debug { "No new events found. Backing off for $backoff" } delay(backoff.toMillis()) backoff = backoff.multipliedBy(2).coerceAtMost(maxBackoff) return @@ -54,8 +58,10 @@ abstract class EventPollerImplementation( val events = fullLog.mapNotNull { it.toEvent() } dispatchQueue.dispatch(referenceId, events, dispatcher) - lastSeenTime = fullLog.maxOf { it.persistedAt } } + val maxPersistedAt = newPersisted.maxOf { it.persistedAt } + log.debug { "Updating lastSeenTime from $lastSeenTime to ${minOf(pollStartedAt, maxPersistedAt).plusNanos(1)}" } + lastSeenTime = minOf(pollStartedAt, maxPersistedAt).plusNanos(1) } }