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

Reports throughin Exception when doing traffic based reports and store-by-group

    XMLWordPrintable

    Details

      Description

      I'm getting the following exception when trying to run any of the
      traffic type reports -

      net.sf.jasperreports.engine.JRRuntimeException:
      net.sf.jasperreports.engine.JRException: Error creating JRobinDataSource
      at
      net.sf.jasperreports.engine.fill.JRFillSubreport.prepare(JRFillSubreport
      .java:711)
      at
      net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(
      JRFillElementContainer.java:329)
      at
      net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:419)
      at
      net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:378)
      at
      net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerti
      calFiller.java:2035)
      at
      net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalF
      iller.java:760)
      at
      net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportContent(JRVe
      rticalFiller.java:290)
      at
      net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalF
      iller.java:132)
      at
      net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:946
      )
      at
      net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:845
      )
      at
      net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:58)
      at
      net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManag
      er.java:417)
      at
      org.opennms.reporting.jasperreports.svclayer.JasperReportService.runAndR
      ender(JasperReportService.java:221)
      at
      org.opennms.reporting.core.svclayer.support.DefaultReportWrapperService.
      runAndRender(DefaultReportWrapperService.java:282)
      at
      org.opennms.web.controller.OnlineReportController.onSubmit(OnlineReportC
      ontroller.java:120)
      at
      org.springframework.web.servlet.mvc.SimpleFormController.processFormSubm
      ission(SimpleFormController.java:272)
      at
      org.springframework.web.servlet.mvc.AbstractFormController.handleRequest
      Internal(AbstractFormController.java:268)
      at
      org.springframework.web.servlet.mvc.AbstractController.handleRequest(Abs
      tractController.java:153)
      at
      org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handl
      e(SimpleControllerHandlerAdapter.java:48)
      at
      org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherS
      ervlet.java:771)
      at
      org.springframework.web.servlet.DispatcherServlet.doService(DispatcherSe
      rvlet.java:716)
      at
      org.springframework.web.servlet.FrameworkServlet.processRequest(Framewor
      kServlet.java:644)
      at
      org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet
      .java:560)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
      at
      org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
      at
      org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHan
      dler.java:1166)
      at
      org.extremecomponents.table.filter.AbstractExportFilter.doFilter(Abstrac
      tExportFilter.java:49)
      at
      org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHan
      dler.java:1157)
      at
      org.opennms.web.StoreRequestPropertiesFilter.doFilter(StoreRequestProper
      tiesFilter.java:80)
      at
      org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHan
      dler.java:1157)
      at
      org.springframework.security.util.FilterChainProxy$VirtualFilterChain.do
      Filter(FilterChainProxy.java:378)
      at
      org.opennms.web.springframework.security.AuthFilterEnabler.doFilterHttp(
      AuthFilterEnabler.java:110)
      at
      org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecu
      rityFilter.java:53)
      at
      org.springframework.security.util.FilterChainProxy$VirtualFilterChain.do
      Filter(FilterChainProxy.java:390)
      at
      org.springframework.security.intercept.web.FilterSecurityInterceptor.inv
      oke(FilterSecurityInterceptor.java:109)
      at
      org.springframework.security.intercept.web.FilterSecurityInterceptor.doF
      ilter(FilterSecurityInterceptor.java:83)
      at
      org.springframework.security.util.FilterChainProxy$VirtualFilterChain.do
      Filter(FilterChainProxy.java:390)
      at
      org.springframework.security.ui.SessionFixationProtectionFilter.doFilter
      Http(SessionFixationProtectionFilter.java:67)
      at
      org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecu
      rityFilter.java:53)
      at
      org.springframework.security.util.FilterChainProxy$VirtualFilterChain.do
      Filter(FilterChainProxy.java:390)
      at
      org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(
      ExceptionTranslationFilter.java:101)
      at
      org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecu
      rityFilter.java:53)
      at
      org.springframework.security.util.FilterChainProxy$VirtualFilterChain.do
      Filter(FilterChainProxy.java:390)
      at
      org.springframework.security.providers.anonymous.AnonymousProcessingFilt
      er.doFilterHttp(AnonymousProcessingFilter.java:105)
      at
      org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecu
      rityFilter.java:53)
      at
      org.springframework.security.util.FilterChainProxy$VirtualFilterChain.do
      Filter(FilterChainProxy.java:390)
      at
      org.springframework.security.wrapper.SecurityContextHolderAwareRequestFi
      lter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91)
      at
      org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecu
      rityFilter.java:53)
      at
      org.springframework.security.util.FilterChainProxy$VirtualFilterChain.do
      Filter(FilterChainProxy.java:390)
      at
      org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilter
      Http(BasicProcessingFilter.java:174)
      at
      org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecu
      rityFilter.java:53)
      at
      org.springframework.security.util.FilterChainProxy$VirtualFilterChain.do
      Filter(FilterChainProxy.java:390)
      at
      org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(Ab
      stractProcessingFilter.java:278)
      at
      org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecu
      rityFilter.java:53)
      at
      org.springframework.security.util.FilterChainProxy$VirtualFilterChain.do
      Filter(FilterChainProxy.java:390)
      at
      org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutF
      ilter.java:89)
      at
      org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecu
      rityFilter.java:53)
      at
      org.springframework.security.util.FilterChainProxy$VirtualFilterChain.do
      Filter(FilterChainProxy.java:390)
      at
      org.springframework.security.context.HttpSessionContextIntegrationFilter
      .doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
      at
      org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecu
      rityFilter.java:53)
      at
      org.springframework.security.util.FilterChainProxy$VirtualFilterChain.do
      Filter(FilterChainProxy.java:390)
      at
      org.springframework.security.util.FilterChainProxy.doFilter(FilterChainP
      roxy.java:175)
      at
      org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(Dele
      gatingFilterProxy.java:237)
      at
      org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegating
      FilterProxy.java:167)
      at
      org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHan
      dler.java:1157)
      at
      org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFil
      terInternal(OpenSessionInViewFilter.java:198)
      at
      org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequ
      estFilter.java:76)
      at
      org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHan
      dler.java:1157)
      at
      org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
      at
      org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:2
      16)
      at
      org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
      at
      org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
      at
      org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
      at
      org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.jav
      a:114)
      at
      org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
      at org.mortbay.jetty.Server.handle(Server.java:326)
      at
      org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
      at
      org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.j
      ava:943)
      at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
      at
      org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
      at
      org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
      at
      org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
      410)
      at
      org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java
      :582)
      Caused by: net.sf.jasperreports.engine.JRException: Error creating
      JRobinDataSource
      at
      org.opennms.netmgt.jasper.jrobin.JRobinQueryExecutor.createDatasource(JR
      obinQueryExecutor.java:30)
      at
      net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRF
      illDataset.java:684)
      at
      net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillData
      set.java:605)
      at
      net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller
      .java:1281)
      at
      net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:901
      )
      at
      net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:845
      )
      at
      net.sf.jasperreports.engine.fill.JRFillSubreport.fillSubreport(JRFillSub
      report.java:609)
      at
      net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunn
      able.java:59)
      at
      net.sf.jasperreports.engine.fill.JRThreadSubreportRunner.run(JRThreadSub
      reportRunner.java:205)
      at java.lang.Thread.run(Thread.java:662)
      Caused by: org.jrobin.core.RrdException: Invalid DEF syntax:
      DEF:xx=/opt/opennms/share/rrd/snmp/2999/Virt___
      at
      org.opennms.netmgt.jasper.jrobin.RrdXportCmd.parseDef(RrdXportCmd.java:7
      5)
      at
      org.opennms.netmgt.jasper.jrobin.RrdXportCmd.execute(RrdXportCmd.java:40
      )
      at
      org.opennms.netmgt.jasper.jrobin.RrdToolCmd.executeCommand(RrdToolCmd.ja
      va:38)
      at
      org.opennms.netmgt.jasper.jrobin.JRobinQueryExecutor.createDatasource(JR
      obinQueryExecutor.java:28)
      ... 9 more
      Caused by: net.sf.jasperreports.engine.JRException: Error creating
      JRobinDataSource
      at
      org.opennms.netmgt.jasper.jrobin.JRobinQueryExecutor.createDatasource(JR
      obinQueryExecutor.java:30)
      at
      net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRF
      illDataset.java:684)
      at
      net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillData
      set.java:605)
      at
      net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller
      .java:1281)
      at
      net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:901
      )
      at
      net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:845
      )
      at
      net.sf.jasperreports.engine.fill.JRFillSubreport.fillSubreport(JRFillSub
      report.java:609)
      at
      net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunn
      able.java:59)
      at
      net.sf.jasperreports.engine.fill.JRThreadSubreportRunner.run(JRThreadSub
      reportRunner.java:205)
      at java.lang.Thread.run(Thread.java:662)
      Caused by: org.jrobin.core.RrdException: Invalid DEF syntax:
      DEF:xx=/opt/opennms/share/rrd/snmp/2999/Virt___
      at
      org.opennms.netmgt.jasper.jrobin.RrdXportCmd.parseDef(RrdXportCmd.java:7
      5)
      at
      org.opennms.netmgt.jasper.jrobin.RrdXportCmd.execute(RrdXportCmd.java:40
      )
      at
      org.opennms.netmgt.jasper.jrobin.RrdToolCmd.executeCommand(RrdToolCmd.ja
      va:38)
      at
      org.opennms.netmgt.jasper.jrobin.JRobinQueryExecutor.createDatasource(JR
      obinQueryExecutor.java:28)
      ... 9 more
      Caused by: org.jrobin.core.RrdException: Invalid DEF syntax:
      DEF:xx=/opt/opennms/share/rrd/snmp/2999/Virt___
      at
      org.opennms.netmgt.jasper.jrobin.RrdXportCmd.parseDef(RrdXportCmd.java:7
      5)
      at
      org.opennms.netmgt.jasper.jrobin.RrdXportCmd.execute(RrdXportCmd.java:40
      )
      at
      org.opennms.netmgt.jasper.jrobin.RrdToolCmd.executeCommand(RrdToolCmd.ja
      va:38)
      at
      org.opennms.netmgt.jasper.jrobin.JRobinQueryExecutor.createDatasource(JR
      obinQueryExecutor.java:28)
      at
      net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRF
      illDataset.java:684)
      at
      net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillData
      set.java:605)
      at
      net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller
      .java:1281)
      at
      net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:901
      )
      at
      net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:845
      )
      at
      net.sf.jasperreports.engine.fill.JRFillSubreport.fillSubreport(JRFillSub
      report.java:609)
      at
      net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunn
      able.java:59)
      at
      net.sf.jasperreports.engine.fill.JRThreadSubreportRunner.run(JRThreadSub
      reportRunner.java:205)
      at java.lang.Thread.run(Thread.java:662)

      I'm not sure what it was trying to do, here is an ls of the jrb
      directory -

      [root@cponms1 report-templates]# ls /opt/opennms/share/rrd/snmp/2999/
      ds.properties mib2-tcp.jrb
      GigabitEthernet0_0_1-000b854318a3 Unit___0_Slot___0_Port___1-
      000b854318a3
      GigabitEthernet0_0_2-000b854318a4 Unit___0_Slot___0_Port___2-
      000b854318a4
      GigabitEthernet0_0_3-000b854318a5 Unit___0_Slot___0_Port___3-
      000b854318a5
      GigabitEthernet0_0_4-000b854318a6 Unit___0_Slot___0_Port___4-
      000b854318a6
      mib2-icmp.jrb Virtual_Interface-000b854318a3
      [root@cponms1 report-templates]#

      Jeffg said -

      That's because you're using that [censored] store-by-group persistence strategy

      Delivery time was at a premium when we built the JRobin JRDataSource, so we didn't build in support for store-by-group. That's why it's crapping out.

      I just asked Donald about this, and he thought of a workaround for the specific case of the interface traffic reports. If you look at the report definition, you'll see that it first looks for an ifHCInOctets.jrb but backs off to ifInOctets.jrb if the HC one doesn't exist. It should be a simple case of also first trying to open mib2-X-interfaces.jrb and locate the ifHCInOctets DS, backing off to mib2-interfaces.jrb and its ifInOctets DS. I don't like it as a solution for several reasons, but as a workaround it seems, well, workable.

        Attachments

          Activity

            People

            • Assignee:
              desloge Donald Desloge
              Reporter:
              mhuot Mike Huot
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: