From ac0bffc722f22ab407845367eeafed0348c1b094 Mon Sep 17 00:00:00 2001 From: mpriyank Date: Mon, 3 Oct 2022 12:26:10 +0100 Subject: Swallow kafkaException - swallow the kafka exception if we are unable to send the kafka message due to any reason. - updated release notes as well Issue-ID: CPS-1294 Change-Id: Iaa8ae5b0bc289d819a46b4a95a1382f4ecee66aa Signed-off-by: mpriyank --- .../onap/cps/ncmp/api/impl/event/lcm/LcmEventsService.java | 7 ++++++- .../ncmp/api/impl/event/lcm/LcmEventsServiceSpec.groovy | 14 ++++++++++++++ docs/release-notes.rst | 2 +- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsService.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsService.java index 762b21ef3..d6857d36a 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsService.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsService.java @@ -24,6 +24,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.onap.ncmp.cmhandle.event.lcm.LcmEvent; import org.springframework.beans.factory.annotation.Value; +import org.springframework.kafka.KafkaException; import org.springframework.stereotype.Service; /** @@ -51,7 +52,11 @@ public class LcmEventsService { */ public void publishLcmEvent(final String cmHandleId, final LcmEvent lcmEvent) { if (notificationsEnabled) { - lcmEventsPublisher.publishEvent(topicName, cmHandleId, lcmEvent); + try { + lcmEventsPublisher.publishEvent(topicName, cmHandleId, lcmEvent); + } catch (final KafkaException e) { + log.error("Unable to publish message to topic : {} and cause : {}", topicName, e.getMessage()); + } } else { log.debug("Notifications disabled."); } diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsServiceSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsServiceSpec.groovy index 1eae357bb..ef399e1c6 100644 --- a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsServiceSpec.groovy +++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsServiceSpec.groovy @@ -21,6 +21,7 @@ package org.onap.cps.ncmp.api.impl.event.lcm import org.onap.ncmp.cmhandle.event.lcm.LcmEvent +import org.springframework.kafka.KafkaException import spock.lang.Specification class LcmEventsServiceSpec extends Specification { @@ -45,4 +46,17 @@ class LcmEventsServiceSpec extends Specification { 'disabled' | false || 0 } + def 'Unable to send message'(){ + given: 'a cm handle id and Lcm Event and notification enabled' + def cmHandleId = 'test-cm-handle-id' + def lcmEvent = new LcmEvent(eventId: UUID.randomUUID().toString(), eventCorrelationId: cmHandleId) + objectUnderTest.notificationsEnabled = true + when: 'publisher set to throw an exception' + mockLcmEventsPublisher.publishEvent(*_) >> { throw new KafkaException('publishing failed')} + and: 'an event is publised' + objectUnderTest.publishLcmEvent(cmHandleId, lcmEvent) + then: 'the exception is just logged and not bubbled up' + noExceptionThrown() + } + } diff --git a/docs/release-notes.rst b/docs/release-notes.rst index 69a1a3576..43ee65445 100755 --- a/docs/release-notes.rst +++ b/docs/release-notes.rst @@ -38,7 +38,7 @@ Release Data Bug Fixes --------- - - None + - `CPS-1294 `_ Kafka communication fault caused cmHandle registration error Version: 3.1.3 ============== -- cgit 1.2.3-korg