Pentaho Analysis - Mondrian
  1. Pentaho Analysis - Mondrian
  2. MONDRIAN-722

If ignoreInvalidMembers=true, should ignore grants with invalid members


    • Type: Bug Bug
    • Status: Closed
    • Priority: Severe Severe
    • Resolution: Fixed
    • Affects Version/s: 3.1.6 (3.5.2 GA Suite Release)
    • Component/s: None
    • Labels:
    • Customer Case:
    • 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.


      If a member does not exist (literally no data), the following exception occurs when attempting to load the schema/cube.

      mondrian.olap.MondrianException: Mondrian Error:Member '[Store].[USA].[CA]' not found
          at mondrian.resource.MondrianResource$_Def0.ex(
          at mondrian.olap.Util.lookupCompound(
          at mondrian.rolap.RolapSchemaReader.lookupCompound(
          at mondrian.rolap.RolapCube$RolapCubeSchemaReader.getMemberByUniqueName(
          at mondrian.rolap.RolapSchemaReader.getMemberByUniqueName(
          at mondrian.rolap.RolapSchema.createRole(
          at mondrian.rolap.RolapSchema.load(
          at mondrian.rolap.RolapSchema.load(
          at mondrian.rolap.RolapSchema.(
          at mondrian.rolap.RolapSchema.(
          at mondrian.rolap.RolapSchema$Pool.get(
          at mondrian.rolap.RolapSchema$Pool.get(
          at mondrian.rolap.RolapConnection.(
          at mondrian.rolap.RolapConnection.(
          at mondrian.olap.DriverManager.getConnection(
          at com.pentaho.analyzer.service.impl.OlapConnectionManagerImpl.createConnection(SourceFile:90)

      I removed CA from foodmart > store > store_state
      I created the following role:

      <Role name="cto">
        <SchemaGrant access="none">
          <CubeGrant cube="Sales" access="all">
            <HierarchyGrant hierarchy="[Store]" access="custom"
                topLevel="[Store].[Store Country]">
              <MemberGrant member="[Store].[USA].[CA]" access="all"/>
              <MemberGrant member="[Store].[USA].[CA].[Los Angeles]" access="none"/>
            <HierarchyGrant hierarchy="[Customers]" access="custom"
                topLevel="[Customers].[State Province]" bottomLevel="[Customers].[City]">
              <MemberGrant member="[Customers].[USA].[CA]" access="all"/>
              <!-- MemberGrant member="[Customers].[USA].[CA].[Los Angeles]" access="none"/ -->
            <HierarchyGrant hierarchy="[Gender]" access="none"/>

      Logged in as a cto and got the exception. I also logged in as an admin and got the same exception. I understand that for a cto role, I could get this exception. But in a multi-tenant environment, this is not acceptable, as other tenants will not care that that member does not exist.


        Julian Hyde added a comment -
        Fixed in change 13599.
        Julian Hyde added a comment - Fixed in change 13599.


          • Assignee:
            Rahul Gurjar
            Brian Hagan (Inactive)
          • Votes:
            0 Vote for this issue
            0 Start watching this issue


            • Created: