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

ConcurrentModificationException thrown by Statsd

    Details

    • Sprint:
      Horizon - July 26th

      Description

      On a customer installation running Meridian 2016, a ConcurrentModificationException is thrown while running Statsd, and the reports are not created.

      2017-06-25 12:58:03,674 ERROR [Statsd_Worker-8] o.q.c.ErrorLogger: Job (DEFAULT.Top 80 ifOutDiscards aller Interfaces threw an exception. org.quartz.SchedulerException: Job threw an unhandled exception. at org.quartz.core.JobRunShell.run(JobRunShell.java:213) [quartz-1.6.5.jar:1.6.5] at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:525) [quartz-1.6.5.jar:1.6.5] Caused by: org.springframework.scheduling.quartz.JobMethodInvocationFailedException: Invocation of method 'runReport' on target class [class org.opennms.netmgt.statsd.Statsd] failed; nested exception is java.util.ConcurrentModificationException at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:331) ~[org.apache.servicemix.bundles.spring-context-support-4.0.5.RELEASE_1.jar:?] at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:112) ~[org.apache.servicemix.bundles.spring-context-support-4.0.5.RELEASE_1.jar:?] at org.quartz.core.JobRunShell.run(JobRunShell.java:202) ~[quartz-1.6.5.jar:1.6.5] ... 1 more Caused by: java.util.ConcurrentModificationException at java.util.LinkedHashMap$LinkedHashIterator.nextNode(LinkedHashMap.java:711) ~[?:1.8.0_45] at java.util.LinkedHashMap$LinkedEntryIterator.next(LinkedHashMap.java:744) ~[?:1.8.0_45] at java.util.LinkedHashMap$LinkedEntryIterator.next(LinkedHashMap.java:742) ~[?:1.8.0_45] at org.hibernate.util.IdentityMap.entryArray(IdentityMap.java:228) ~[hibernate-core-3.6.10.Final.jar:3.6.10.Final] at org.hibernate.util.IdentityMap.concurrentEntries(IdentityMap.java:89) ~[hibernate-core-3.6.10.Final.jar:3.6.10.Final] at org.hibernate.event.def.AbstractFlushingEventListener.prepareEntityFlushes(AbstractFlushingEventListener.java:136) ~[hibernate-core-3.6.10.Final.jar:3.6.10.Final] at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:88) ~[hibernate-core-3.6.10.Final.jar:3.6.10.Final] at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:58) ~[hibernate-core-3.6.10.Final.jar:3.6.10.Final] at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:1185) ~[hibernate-core-3.6.10.Final.jar:3.6.10.Final] at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1261) ~[hibernate-core-3.6.10.Final.jar:3.6.10.Final] at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102) ~[hibernate-core-3.6.10.Final.jar:3.6.10.Final] at org.springframework.orm.hibernate3.HibernateTemplate$29.doInHibernate(HibernateTemplate.java:986) ~[org.apache.servicemix.bundles.spring-orm-4.0.5.RELEASE_1.jar:?] at org.springframework.orm.hibernate3.HibernateTemplate$29.doInHibernate(HibernateTemplate.java:975) ~[org.apache.servicemix.bundles.spring-orm-4.0.5.RELEASE_1.jar:?] at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411) ~[org.apache.servicemix.bundles.spring-orm-4.0.5.RELEASE_1.jar:?] at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:379) ~[org.apache.servicemix.bundles.spring-orm-4.0.5.RELEASE_1.jar:?] at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:975) ~[org.apache.servicemix.bundles.spring-orm-4.0.5.RELEASE_1.jar:?] at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:970) ~[org.apache.servicemix.bundles.spring-orm-4.0.5.RELEASE_1.jar:?] at org.opennms.netmgt.dao.hibernate.LocationMonitorDaoHibernate.findStatusChangesForNodeForUniqueMonitorAndInterface(LocationMonitorDaoHibernate.java:311) ~[opennms-dao-2016.1.5.jar:?] at org.opennms.netmgt.dao.support.DistributedStatusResourceType.getResourcesForParent(DistributedStatusResourceType.java:120) ~[opennms-dao-2016.1.5.jar:?] at org.opennms.netmgt.dao.support.DistributedStatusResourceType.isResourceTypeOnParent(DistributedStatusResourceType.java:108) ~[opennms-dao-2016.1.5.jar:?] at org.opennms.netmgt.dao.support.LazyChildResourceLoader.lambda$getAvailableResourceTypes$11(LazyChildResourceLoader.java:43) ~[opennms-dao-2016.1.5.jar:?] at org.opennms.netmgt.dao.support.LazyChildResourceLoader$$Lambda$51/1300059154.test(Unknown Source) ~[?:?] at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:174) ~[?:1.8.0_45] at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) ~[?:1.8.0_45] at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512) ~[?:1.8.0_45] at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502) ~[?:1.8.0_45] at java.util.stream.ReduceOps$ReduceTask.doLeaf(ReduceOps.java:747) ~[?:1.8.0_45] at java.util.stream.ReduceOps$ReduceTask.doLeaf(ReduceOps.java:721) ~[?:1.8.0_45] at java.util.stream.AbstractTask.compute(AbstractTask.java:316) ~[?:1.8.0_45] at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:731) ~[?:1.8.0_45] at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) ~[?:1.8.0_45] at java.util.concurrent.ForkJoinPool$WorkQueue.pollAndExecCC(ForkJoinPool.java:1190) ~[?:1.8.0_45] at java.util.concurrent.ForkJoinPool.helpComplete(ForkJoinPool.java:1876) ~[?:1.8.0_45] at java.util.concurrent.ForkJoinPool.externalHelpComplete(ForkJoinPool.java:2464) ~[?:1.8.0_45] at java.util.concurrent.ForkJoinTask.externalAwaitDone(ForkJoinTask.java:324) ~[?:1.8.0_45] at java.util.concurrent.ForkJoinTask.doInvoke(ForkJoinTask.java:405) ~[?:1.8.0_45] at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:734) ~[?:1.8.0_45] at java.util.stream.ReduceOps$ReduceOp.evaluateParallel(ReduceOps.java:714) ~[?:1.8.0_45] at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233) ~[?:1.8.0_45] at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) ~[?:1.8.0_45] at org.opennms.netmgt.dao.support.LazyChildResourceLoader.getAvailableResourceTypes(LazyChildResourceLoader.java:44) ~[opennms-dao-2016.1.5.jar:?] at org.opennms.netmgt.dao.support.LazyChildResourceLoader.load(LazyChildResourceLoader.java:31) ~[opennms-dao-2016.1.5.jar:?] at org.opennms.core.utils.LazyList.load(LazyList.java:168) ~[opennms-util-2016.1.5.jar:?] at org.opennms.core.utils.LazyList.iterator(LazyList.java:61) ~[opennms-util-2016.1.5.jar:?] at org.opennms.netmgt.dao.support.ResourceTreeWalker.walk(ResourceTreeWalker.java:61) ~[opennms-dao-2016.1.5.jar:?] at org.opennms.netmgt.dao.support.ResourceTreeWalker.walk(ResourceTreeWalker.java:63) ~[opennms-dao-2016.1.5.jar:?] at org.opennms.netmgt.dao.support.ResourceTreeWalker.walk(ResourceTreeWalker.java:52) ~[opennms-dao-2016.1.5.jar:?] at org.opennms.netmgt.statsd.BaseReportInstance.walk(BaseReportInstance.java:92) ~[opennms-services-2016.1.5.jar:?] at org.opennms.netmgt.statsd.Statsd$1.doInTransactionWithoutResult(Statsd.java:241) ~[opennms-services-2016.1.5.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.statsd.Statsd.runReport(Statsd.java:235) ~[opennms-services-2016.1.5.jar:?] at sun.reflect.GeneratedMethodAccessor1867.invoke(Unknown Source) ~[?:?] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_45] at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_45] at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:269) ~[org.apache.servicemix.bundles.spring-core-4.0.5.RELEASE_1.jar:?] at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:322) ~[org.apache.servicemix.bundles.spring-context-support-4.0.5.RELEASE_1.jar:?]

       

        Attachments

          Activity

            People

            • Assignee:
              j-white Jesse White
              Reporter:
              agalue Alejandro Galue
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: