Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Severe Severe
    • Resolution: Fixed
    • Affects Version/s: 3.2.0 GA (3.6.0 GA Suite Release)
    • Component/s: None
    • Labels:
      None
    • Notice:
      When an issue is open, the "Fix Version/s" field conveys a target, not necessarily a commitment. When an issue is closed, the "Fix Version/s" field conveys the version that the issue was fixed in.

      Description

      Mondrian Error:Internal error: Error while counting drill-through; sql=[select count(*) as "c0"]mondrian.olap.MondrianException: Mondrian Error:Internal error: Error while counting drill-through; sql=[select count(*) as "c0"]
          at mondrian.resource.MondrianResource$_Def0.ex(MondrianResource.java:826)
          at mondrian.olap.Util.newInternal(Util.java:1490)
          at mondrian.olap.Util.newError(Util.java:1506)
          at mondrian.rolap.SqlStatement.handle(SqlStatement.java:278)
          at mondrian.rolap.SqlStatement.execute(SqlStatement.java:193)
          at mondrian.rolap.RolapUtil.executeQuery(RolapUtil.java:230)
          at mondrian.rolap.RolapUtil.executeQuery(RolapUtil.java:189)
          at mondrian.rolap.RolapCell.getDrillThroughCount(RolapCell.java:119)
          at com.pentaho.analyzer.olap.impl.CVMondrianCell.getDrillCount(CVMondrianCell.java:58)
          at com.pentaho.analyzer.content.controller.DrillBean.drill(DrillBean.java:87)
          at com.pentaho.analyzer.content.AnalyzerContentGenerator.createContent(AnalyzerContentGenerator.java:231)
          at sun.reflect.GeneratedMethodAccessor166.invoke(Unknown Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          at java.lang.reflect.Method.invoke(Method.java:597)
          at com.pentaho.platform.web.http.context.WebSpringPentahoObjectFactory$ProxyInvokeHandler.invoke(WebSpringPentahoObjectFactory.java:220)
          at $Proxy96.createContent(Unknown Source)
          at org.pentaho.platform.web.servlet.GenericServlet.doGet(GenericServlet.java:258)
          at org.pentaho.platform.web.servlet.GenericServlet.doPost(GenericServlet.java:79)
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
          at org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
          at org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
          at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
          at org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
          at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
          at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
          at org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)
          at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
          at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
          at org.pentaho.platform.web.http.security.RequestParameterAuthenticationFilter.doFilter(RequestParameterAuthenticationFilter.java:169)
          at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
          at org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174)
          at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
          at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
          at org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:278)
          at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
          at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
          at org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)
          at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
          at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
          at org.pentaho.platform.web.http.security.HttpSessionReuseDetectionFilter.doFilter(HttpSessionReuseDetectionFilter.java:134)
          at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
          at org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
          at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
          at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
          at org.pentaho.platform.web.http.filters.HttpSessionPentahoSessionIntegrationFilter.doFilter(HttpSessionPentahoSessionIntegrationFilter.java:264)
          at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
          at org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91)
          at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
          at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
          at org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175)
          at org.springframework.security.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:99)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          at com.pentaho.ui.servlet.SystemStatusFilter.doFilter(SystemStatusFilter.java:43)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          at org.pentaho.platform.web.http.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:113)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
          at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
          at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
          at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
          at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
          at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
          at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
          at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
          at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
          at java.lang.Thread.run(Thread.java:619)
      Caused by: java.sql.SQLException: Unexpected token , requires FROM in statement [select count(*) as "c0"]
          at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
          at org.hsqldb.jdbc.jdbcStatement.fetchResult(Unknown Source)
          at org.hsqldb.jdbc.jdbcStatement.executeQuery(Unknown Source)
          at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:205)
          at mondrian.rolap.SqlStatement.execute(SqlStatement.java:152)
          ... 69 more

      Here is the MDX statement:

      With
      Set [*BASE_MEMBERS_Measures] as '{[Measures].[*FORMATTED_MEASURE_0]}'
      Member [Measures].[*FORMATTED_MEASURE_0] as '[Measures].[Sales]', FORMAT_STRING = '#,###', SOLVE_ORDER=400
      Select
      [*BASE_MEMBERS_Measures] on columns
      From [SteelWheelsSales]

      I've attached the steelwheels schema to this JIRA.

        Activity

        Hide
        Julian Hyde added a comment -
        If it's not too much trouble... does this reproduce on FoodMart?
        Show
        Julian Hyde added a comment - If it's not too much trouble... does this reproduce on FoodMart?
        Hide
        Will Gorman added a comment -
        Don't we have steelwheels in the Mondrian test suite now?
        Show
        Will Gorman added a comment - Don't we have steelwheels in the Mondrian test suite now?
        Hide
        Julian Hyde added a comment -
        The Steelwheels tests are only enabled if the Steelwheels database is present. I'd like to retain that behavior -- we don't want to force everyone to install two databases -- but we also need to test the Steelwheels functionality occasionally. I think the solution is to REQUIRE steelwheels if performancetests are enabled; and to have a CI config that runs performance tests.

        Will, do you agree? If so I'll log a jira.

        I am in the process of fixing the steelwheels test case as part of MONDRIAN-756. I didn't check in because I'm waiting on a repro case from Pedro. I'll bug him via email.
        Show
        Julian Hyde added a comment - The Steelwheels tests are only enabled if the Steelwheels database is present. I'd like to retain that behavior -- we don't want to force everyone to install two databases -- but we also need to test the Steelwheels functionality occasionally. I think the solution is to REQUIRE steelwheels if performancetests are enabled; and to have a CI config that runs performance tests. Will, do you agree? If so I'll log a jira. I am in the process of fixing the steelwheels test case as part of MONDRIAN-756 . I didn't check in because I'm waiting on a repro case from Pedro. I'll bug him via email.
        Hide
        Julian Hyde added a comment -
        Oops, hadn't seen that Pedro had replied to MONDRIAN-756. I've checked in the test case, and Steelwheels now works (or no-ops if you have no Steelwheels database).

        Still need to make CI barf if Steelwheels database is not present.
        Show
        Julian Hyde added a comment - Oops, hadn't seen that Pedro had replied to MONDRIAN-756 . I've checked in the test case, and Steelwheels now works (or no-ops if you have no Steelwheels database). Still need to make CI barf if Steelwheels database is not present.
        Hide
        Julian Hyde added a comment -
        Arg. It doesn't reproduce on MySQL because 'select count(*)' is a valid query on that database. (I knew I'd tried to reproduce this!)
        Show
        Julian Hyde added a comment - Arg. It doesn't reproduce on MySQL because 'select count(*)' is a valid query on that database. (I knew I'd tried to reproduce this!)
        Hide
        Julian Hyde added a comment -
        Fixed in change 13690.

        Problem occurred when there were no qualifying dimensions (other than measures), hence mondrian forgot to put the fact table in the FROM clause.
        Show
        Julian Hyde added a comment - Fixed in change 13690. Problem occurred when there were no qualifying dimensions (other than measures), hence mondrian forgot to put the fact table in the FROM clause.
        Hide
        Vikram NS added a comment -
        This issue has been fixed and validated using the 3.7.0-M1 build on 29/Sept/10.
        Show
        Vikram NS added a comment - This issue has been fixed and validated using the 3.7.0-M1 build on 29/Sept/10.

          People

          • Assignee:
            Julian Hyde
            Reporter:
            Benny Chow
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: