Uploaded image for project: 'OpenNMS'
  1. OpenNMS
  2. NMS-7824

The reload config for Collectd might throws a ConcurrentModificationException

    Details

      Description

      In some circumstances, specially when using multiple collector implementations at the same time, you could get the following exception when sending a reloadDaemonConfig event for Collectd:

      collectd.log
      2015-07-30 01:01:26,011 ERROR [collectd-Thread] o.o.n.c.Collectd: handleReloadDaemonConfig: Error reloading/processing collectd configuration: null
      java.util.ConcurrentModificationException
              at java.util.HashMap$HashIterator.nextNode(HashMap.java:1429) ~[?:1.8.0_45]
              at java.util.HashMap$KeyIterator.next(HashMap.java:1453) ~[?:1.8.0_45]
              at org.opennms.netmgt.collectd.Collectd.rebuildScheduler(Collectd.java:1009) ~[opennms-services-16.0.2.jar:?]
              at org.opennms.netmgt.collectd.Collectd.handleReloadDaemonConfig(Collectd.java:1176) [opennms-services-16.0.2.jar:?]
              at org.opennms.netmgt.collectd.Collectd.onEventInTransaction(Collectd.java:721) [opennms-services-16.0.2.jar:?]
              at org.opennms.netmgt.collectd.Collectd.access$600(Collectd.java:96) [opennms-services-16.0.2.jar:?]
              at org.opennms.netmgt.collectd.Collectd$5$1.doInTransactionWithoutResult(Collectd.java:684) [opennms-services-16.0.2.jar:?]
              at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:34) [org.apache.servicemix.bundles.spring-tx-4.0.5.RELEASE_1.jar:?]
              at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133) [org.apache.servicemix.bundles.spring-tx-4.0.5.RELEASE_1.jar:?]
              at org.opennms.netmgt.collectd.Collectd$5.run(Collectd.java:680) [opennms-services-16.0.2.jar:?]
              at org.opennms.core.logging.Logging.withPrefix(Logging.java:66) [org.opennms.core.logging-16.0.2.jar:?]
              at org.opennms.netmgt.collectd.Collectd.onEvent(Collectd.java:676) [opennms-services-16.0.2.jar:?]
              at org.opennms.netmgt.eventd.EventIpcManagerDefaultImpl$EventListenerExecutor$2.run(EventIpcManagerDefaultImpl.java:176) [org.opennms.features.events.daemon-16.0.2.jar:?]
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_45]
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_45]
              at org.opennms.core.concurrent.LogPreservingThreadFactory$2.run(LogPreservingThreadFactory.java:106) [opennms-util-16.0.2.jar:?]
              at java.lang.Thread.run(Thread.java:745) [?:1.8.0_45]
      

      This can break the data collection operation and OpenNMS must be restarted.

        Attachments

          Activity

            People

            • Assignee:
              agalue Alejandro Galue
              Reporter:
              agalue Alejandro Galue
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: