Suspicious NPE in log when network bridge cannot be established and
loggingBrokerPlugin configured
--------------------------------------------------------------------------------------------------
Key: AMQ-3731
URL: https://issues.apache.org/jira/browse/AMQ-3731
Project: ActiveMQ
Issue Type: Bug
Components: Connector, Transport
Affects Versions: 5.5.1
Reporter: Timothy Bish
Assignee: Timothy Bish
Priority: Trivial
Fix For: 5.6.0
WIth the following broker plugins enabled:
{code}
<plugins>
<loggingBrokerPlugin logAll="true" logConnectionEvents="false"/>
<traceBrokerPathPlugin/>
</plugins>
{code}
and network bridge down (only one broker up), the following error appears in
the active broker log:
{noformat}
WARN - DiscoveryNetworkConnector - Could not start network bridge
between: vm://broker1?async=false&network=true and:
tcp://0.0.0.0:61627?soWriteTimeout=15000&soTimeout=15000&wireFormat.maxInactivityDuration=30000
due to: java.net.ConnectException: Connection refused
WARN - DemandForwardingBridgeSupport - Caught an exception processing local
command
java.lang.NullPointerException
at
org.apache.activemq.broker.util.LoggingBrokerPlugin.removeBroker(LoggingBrokerPlugin.java:406)
at
org.apache.activemq.broker.MutableBrokerFilter.removeBroker(MutableBrokerFilter.java:195)
at
org.apache.activemq.broker.MutableBrokerFilter.removeBroker(MutableBrokerFilter.java:195)
at
org.apache.activemq.network.DemandForwardingBridgeSupport.stop(DemandForwardingBridgeSupport.java:339)
at
org.apache.activemq.network.DemandForwardingBridgeSupport.serviceLocalCommand(DemandForwardingBridgeSupport.java:718)
at
org.apache.activemq.network.DemandForwardingBridgeSupport$1.onCommand(DemandForwardingBridgeSupport.java:130)
at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116)
at
org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)
at
org.apache.activemq.transport.vm.VMTransport.stop(VMTransport.java:159)
at
org.apache.activemq.transport.TransportFilter.stop(TransportFilter.java:65)
at
org.apache.activemq.transport.TransportFilter.stop(TransportFilter.java:65)
at
org.apache.activemq.transport.ResponseCorrelator.stop(ResponseCorrelator.java:132)
at
org.apache.activemq.broker.TransportConnection.doStop(TransportConnection.java:991)
at
org.apache.activemq.broker.TransportConnection$4.run(TransportConnection.java:954)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
{noformat}
While this doesn't cause anything to break its not helpful to see these logs.
The issue is that the DemandForwardingBridgeSupport stop method always calls
removeBroker on the remote even if it never connected and the remote broker
info is null. We should check this condition first before trying to remove
something we never connected to.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira