Espen Andreassen created CAMEL-15457:
----------------------------------------

             Summary: camel-micrometer: NullPonter exception triggered by 
EventNotifier
                 Key: CAMEL-15457
                 URL: https://issues.apache.org/jira/browse/CAMEL-15457
             Project: Camel
          Issue Type: Bug
          Components: camel-micrometer
            Reporter: Espen Andreassen


A recent [comit|[https://github.com/apache/camel/pull/3976]] causes NullPointer 
exceptions in some circumstances, though they are caught and logged as "WARN".

Output from the test testCamelRouteEvents() in 
MicrometerExchangeEventNotifierTest in master branch:
{noformat}
11:10:11.927 [main] WARN org.apache.camel.support.EventHelper - Error notifying 
event ID-devbox-1598260211922-0-1 exchange 
Exchange[ID-devbox-1598260211922-0-1] sending to: direct://in. This exception 
will be ignored.11:10:11.927 [main] ERROR org.apache.camel.support.EventHelper 
- Error notifying event ID-devbox-1598260211922-0-1 exchange 
Exchange[ID-devbox-1598260211922-0-1] sending to: direct://in. This exception 
will be ignored.java.lang.NullPointerException: null at 
java.util.Objects.requireNonNull(Objects.java:221) ~[?:?] at 
io.micrometer.core.instrument.ImmutableTag.<init>(ImmutableTag.java:35) 
~[micrometer-core-1.5.4.jar:1.5.4] at 
io.micrometer.core.instrument.Tag.of(Tag.java:29) 
~[micrometer-core-1.5.4.jar:1.5.4] at 
io.micrometer.core.instrument.Tags.of(Tags.java:254) 
~[micrometer-core-1.5.4.jar:1.5.4] at 
org.apache.camel.component.micrometer.eventnotifier.MicrometerExchangeEventNotifierNamingStrategy.getInflightExchangesTags(MicrometerExchangeEventNotifierNamingStrategy.java:58)
 ~[classes/:?] at 
org.apache.camel.component.micrometer.eventnotifier.MicrometerExchangeEventNotifier.handleExchangeEvent(MicrometerExchangeEventNotifier.java:80)
 ~[classes/:?] at 
org.apache.camel.component.micrometer.eventnotifier.MicrometerExchangeEventNotifier.notify(MicrometerExchangeEventNotifier.java:65)
 ~[classes/:?] at 
org.apache.camel.support.EventHelper.doNotifyEvent(EventHelper.java:1236) 
~[classes/:?] at 
org.apache.camel.support.EventHelper.notifyExchangeSending(EventHelper.java:700)
 ~[classes/:?]{noformat}

The problem is that the MicrometerExchangeEventNotifier tries to build/update a 
metric on inflight exchanges in a route based on an ExchangeEvent with no 
associated fromRoute/fromRouteId. Events such as "ExchangeSendingEvent", as is 
created in the test, is an example of such an ExchangeEvent.

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to