javamondriansaiku

Mondrian rolap schema upgrader


I have mondrian xml schema (3 version). When I'm using my schema(v3) in mondrian 4 - it automatically trying to convert my schema throught RolapSchemaUpgrader. But during convertation it throws exception:

16:21:20,816 WARN  [RolapSchema] Model is in legacy format
16:21:36,059 ERROR [SecurityAwareConnectionManager] Error connecting: cubetl
java.lang.NullPointerException
    at mondrian.rolap.RolapSchema$PhysLink.deriveSql(RolapSchema.java:2046)
    at mondrian.rolap.RolapSchema$PhysLink.<init>(RolapSchema.java:2004)
    at mondrian.rolap.RolapSchema$PhysSchema.addLink(RolapSchema.java:945)
    at mondrian.rolap.RolapSchemaUpgrader.registerRelation(RolapSchemaUpgrader.java:3013)
    at mondrian.rolap.RolapSchemaUpgrader.convertHierarchy(RolapSchemaUpgrader.java:2800)

I haven't any ideas why.


Solution

  • I figured out the problem. In my case I had to add primaryKey attribute for each Hierarchy. Documentation told us:

    If not specified, the key of the lowest level is used.

    but it didn't work for me.