From 0c68c27be2957a6c28004c2f8f1734792d3b8860 Mon Sep 17 00:00:00 2001 From: "flamingo[bot]" <277372822+flamingo[bot]@users.noreply.github.com> Date: Mon, 7 Sep 2026 06:10:36 +0000 Subject: [PATCH] fix(OPENFRAM-002-9): MachineHostnameListener leaves the message unacked on any parse or extraction error, risking infinite redelivery --- .../openframe/client/listener/MachineHostnameListener.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/openframe-client-core/src/main/java/com/openframe/client/listener/MachineHostnameListener.java b/openframe-client-core/src/main/java/com/openframe/client/listener/MachineHostnameListener.java index c0e48e774..1dfc55777 100644 --- a/openframe-client-core/src/main/java/com/openframe/client/listener/MachineHostnameListener.java +++ b/openframe-client-core/src/main/java/com/openframe/client/listener/MachineHostnameListener.java @@ -1,6 +1,7 @@ package com.openframe.client.listener; import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.core.JsonProcessingException; import com.openframe.client.service.MachineHostnameService; import com.openframe.client.service.NatsTopicMachineIdExtractor; import com.openframe.data.nats.listener.AbstractJetStreamPushListener; @@ -81,6 +82,9 @@ protected void handleMessage(Message message) { message.ack(); log.debug("Hostname update processed successfully and acked"); + } catch (JsonProcessingException | IllegalArgumentException e) { + log.error("Non-retryable error processing hostname update, acking to avoid redelivery loop: {}", messagePayload, e); + message.ack(); } catch (Exception e) { log.error("Unexpected error processing hostname update: {}", messagePayload, e); // Don't ack the message and let it be redelivered