DnsDetector logs an error message when attempting to detect the DNS service
Description
2012-10-04 16:35:42,122 ERROR [scanExecutor-43] Provisiond.org.opennms.netmgt.provision.detector.datagram.DnsDetector: isServiceDetected: DNS: An unexpected I/O exception occured contacting address XXX.XXX.XXX.XXX port 53 java.net.PortUnreachableException: ICMP Port Unreachable at java.net.PlainDatagramSocketImpl.receive0(Native Method) at java.net.AbstractPlainDatagramSocketImpl.receive(AbstractPlainDatagramSocketImpl.java:145) at java.net.DatagramSocket.receive(DatagramSocket.java:786) at org.opennms.netmgt.provision.detector.datagram.client.DatagramClient.sendRequest(DatagramClient.java:103) at org.opennms.netmgt.provision.detector.datagram.client.DatagramClient.sendRequest(DatagramClient.java:47) at org.opennms.netmgt.provision.support.ClientConversation.attemptConversation(ClientConversation.java:114) at org.opennms.netmgt.provision.support.BasicDetector.attemptConversation(BasicDetector.java:130) at org.opennms.netmgt.provision.support.BasicDetector.isServiceDetected(BasicDetector.java:90) at org.opennms.netmgt.provision.service.IpInterfaceScan$2.run(IpInterfaceScan.java:170) at org.opennms.core.tasks.SyncTask.run(SyncTask.java:89) at org.opennms.core.tasks.SyncTask$1.run(SyncTask.java:100) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722)
This is the detector, not the poller. If it can't find the service, it shouldn't throw an error about it.
Maybe change the logging level from ERROR to TRACE?
Acceptance / Success Criteria
None
Lucidchart Diagrams
Activity
Show:
Benjamin Reed October 12, 2012 at 5:23 PM
The other, expected, exceptions in that bit of code are at INFO rather than ERROR, I'll go with that to match it.
2012-10-04 16:35:42,122 ERROR [scanExecutor-43] Provisiond.org.opennms.netmgt.provision.detector.datagram.DnsDetector: isServiceDetected: DNS: An unexpected I/O exception occured contacting address XXX.XXX.XXX.XXX port 53
java.net.PortUnreachableException: ICMP Port Unreachable
at java.net.PlainDatagramSocketImpl.receive0(Native Method)
at java.net.AbstractPlainDatagramSocketImpl.receive(AbstractPlainDatagramSocketImpl.java:145)
at java.net.DatagramSocket.receive(DatagramSocket.java:786)
at org.opennms.netmgt.provision.detector.datagram.client.DatagramClient.sendRequest(DatagramClient.java:103)
at org.opennms.netmgt.provision.detector.datagram.client.DatagramClient.sendRequest(DatagramClient.java:47)
at org.opennms.netmgt.provision.support.ClientConversation.attemptConversation(ClientConversation.java:114)
at org.opennms.netmgt.provision.support.BasicDetector.attemptConversation(BasicDetector.java:130)
at org.opennms.netmgt.provision.support.BasicDetector.isServiceDetected(BasicDetector.java:90)
at org.opennms.netmgt.provision.service.IpInterfaceScan$2.run(IpInterfaceScan.java:170)
at org.opennms.core.tasks.SyncTask.run(SyncTask.java:89)
at org.opennms.core.tasks.SyncTask$1.run(SyncTask.java:100)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
This is the detector, not the poller. If it can't find the service, it shouldn't throw an error about it.
Maybe change the logging level from ERROR to TRACE?