[Mondrian] Mondrian 4 Unit Test Failures

Charlie Hubbard charlie at fuseanalytics.com
Fri Nov 11 22:20:32 EST 2016


Well I have had that experience too.  It just hangs for hours and never
finishes.  So at this point is Mondrian 4 source code just broken?  Kinda
makes it hard to use.

This all feeds my fear that I shouldn't be using Mondrian 4 in my product.
Not a lot of development is being made on it right now, significant work is
still going into Mondrian 3 which means in order for Mondrian 4 to reach
feature parity make it harder and harder to achieve.  Mondrian 4 has been
around for a long time, but it's still in beta and doesn't seem like it's
moving towards stable anytime soon.

I have a sneaking suspicion I should port back to Mondrian 3 until Mondrian
4 is stable.

Any thoughts?

On Fri, Nov 11, 2016 at 7:59 PM, Julian Hyde <julianhyde at gmail.com> wrote:

> You had a better experience than I did. I did
>
> $ cp mondrian.properties.template mondrian.properties
> $ mvn clean install
>
> and it just sat there, using up a lot of memory, burning very little
> CPU, and never finished.
>
> I don't have time to debug it, but I wish we could use maven-surefire
> (so that it prints test failures as it hits them, not at the end), and
> I wish it would use embedded hsqldb (as described in
> http://jira.pentaho.com/browse/MONDRIAN-2483) rather than mysql. The
> tests might take a little longer to run, but everyone would be running
> the same environment.
>
> Julian
>
> On Fri, Nov 11, 2016 at 9:24 AM, Charlie Hubbard
> <charlie at fuseanalytics.com> wrote:
> > I switched over to Lagunitas and did a mvn clean install, and it still
> > failed with all of the same errors I was getting before.  I removed my
> > mondrian.properties file and simply copied the
> mondrian.properties.template
> > -> mondrian.properties.  It wouldn't run without doing that.
> >
> > Charlie
> >
> > Tests run: 3124, Failures: 7, Errors: 1, Skipped: 0, Time elapsed:
> 744.551
> > sec <<< FAILURE! - in mondrian.test.Main
> >
> > testDrillThroughMultiPositionCompoundSlicer(mondrian.test.
> DrillThroughTest)
> > Time elapsed: 0.165 sec  <<< FAILURE!
> >
> > junit.framework.ComparisonFailure: expected:<...gender` as `Gender`,
> >
> >     `customer`.`marital_status` as `Marital Status`,
> >
> >     sum(`sales_fact_1997`.`unit_sales`) as `Unit Sales`
> >
> > from
> >
> >     `sales_fact_1997` as `sales_fact_1997`,
> >
> >     `customer` as `customer`,
> >
> >     `time_by_day` as `time_by_day`
> >
> > where
> >
> >     `customer`.`marital_status` = 'M'
> >
> > and
> >
> >     `customer`.`gender` = 'F'
> >
> > and
> >
> >     ((`time_by_day`.`the_year` = 1997 and `time_by_day`.`quarter` = 'Q1'
> and
> > `time_by_day`.`the_year` = 1997) or (`time_by_day`.`the_year` = 1997 and
> > `time_by_day`.`quarter` = 'Q2' and `time_by_day`.`the_year` = 1997))
> >
> > and
> >
> >     `sales_fact_1997`.`customer_id` = `customer`.`customer_id`
> >
> > and
> >
> >     `sales_fact_1997`.`time_id` = `time_by_day`.`time_id`
> >
> > group by
> >
> >     `customer`.`gender`,...> but was:<...marital_status` as `Marital
> > Status`,
> >
> >     sum(`sales_fact_1997`.`unit_sales`) as `Unit Sales`
> >
> > from
> >
> >     `sales_fact_1997` as `sales_fact_1997`,
> >
> >     `customer` as `customer`,
> >
> >     `time_by_day` as `time_by_day`
> >
> > where
> >
> >     `customer`.`marital_status` = 'M'
> >
> > and
> >
> >     ((`customer`.`gender` = 'F' and `time_by_day`.`the_year` = 1997 and
> > `time_by_day`.`quarter` = 'Q1' and `time_by_day`.`the_year` = 1997) or
> > (`customer`.`gender` = 'F' and `time_by_day`.`the_year` = 1997 and
> > `time_by_day`.`quarter` = 'Q2' and `time_by_day`.`the_year` = 1997))
> >
> > and
> >
> >     `sales_fact_1997`.`customer_id` = `customer`.`customer_id`
> >
> > and
> >
> >     `sales_fact_1997`.`time_id` = `time_by_day`.`time_id`
> >
> > group by...>
> >
> > at junit.framework.Assert.assertEquals(Assert.java:81)
> >
> > at junit.framework.Assert.assertEquals(Assert.java:87)
> >
> > at mondrian.test.DiffRepository.assertEquals(DiffRepository.java:546)
> >
> > at mondrian.test.TestContext.assertSqlEquals(TestContext.java:1982)
> >
> > at
> > mondrian.test.DrillThroughTest.testDrillThroughMultiPositionC
> ompoundSlicer(DrillThroughTest.java:669)
> >
> >
> > testVirtualCubeCmBug(org.olap4j.ConnectionTest)  Time elapsed: 0 sec
> <<<
> > FAILURE!
> >
> > junit.framework.AssertionFailedError: expected:<[Warehouse Profit,
> Profit,
> > Units Ordered, Store Invoice, Unit Sales, Supply Time, Sales Count,
> Average
> > Warehouse Sale, Profit Per Unit Shipped, Warehouse Cost, Profit last
> Period,
> > Units Shipped, Store Sales, Warehouse Sales, Store Cost, Profit Growth]>
> but
> > was:<[Warehouse Profit, Profit, Store Invoice, Units Ordered, Unit Sales,
> > Sales Count, Supply Time, Average Warehouse Sale, Profit Per Unit
> Shipped,
> > Warehouse Cost, Profit last Period, Customer Count, Promotion Sales,
> Units
> > Shipped, Store Sales, Warehouse Sales, Store Cost, Profit Growth]>
> >
> > at junit.framework.Assert.fail(Assert.java:47)
> >
> > at junit.framework.Assert.failNotEquals(Assert.java:282)
> >
> > at junit.framework.Assert.assertEquals(Assert.java:64)
> >
> > at junit.framework.Assert.assertEquals(Assert.java:71)
> >
> > at org.olap4j.ConnectionTest.testVirtualCubeCmBug(
> ConnectionTest.java:2156)
> >
> >
> > testVirtualCubeCmBug(org.olap4j.ConnectionTest)  Time elapsed: 0.001 sec
> > <<< FAILURE!
> >
> > junit.framework.AssertionFailedError: expected:<[Warehouse Profit,
> Profit,
> > Units Ordered, Store Invoice, Unit Sales, Supply Time, Sales Count,
> Average
> > Warehouse Sale, Profit Per Unit Shipped, Warehouse Cost, Profit last
> Period,
> > Units Shipped, Store Sales, Warehouse Sales, Store Cost, Profit Growth]>
> but
> > was:<[Warehouse Profit, Profit, Store Invoice, Units Ordered, Unit Sales,
> > Sales Count, Supply Time, Average Warehouse Sale, Profit Per Unit
> Shipped,
> > Warehouse Cost, Profit last Period, Customer Count, Promotion Sales,
> Units
> > Shipped, Store Sales, Warehouse Sales, Store Cost, Profit Growth]>
> >
> > at junit.framework.Assert.fail(Assert.java:47)
> >
> > at junit.framework.Assert.failNotEquals(Assert.java:282)
> >
> > at junit.framework.Assert.assertEquals(Assert.java:64)
> >
> > at junit.framework.Assert.assertEquals(Assert.java:71)
> >
> > at org.olap4j.ConnectionTest.testVirtualCubeCmBug(
> ConnectionTest.java:2156)
> >
> >
> > testVirtualCubeCmBug(org.olap4j.ConnectionTest)  Time elapsed: 0 sec
> <<<
> > FAILURE!
> >
> > junit.framework.AssertionFailedError: expected:<[Warehouse Profit,
> Profit,
> > Units Ordered, Store Invoice, Unit Sales, Supply Time, Sales Count,
> Average
> > Warehouse Sale, Profit Per Unit Shipped, Warehouse Cost, Profit last
> Period,
> > Units Shipped, Store Sales, Warehouse Sales, Store Cost, Profit Growth]>
> but
> > was:<[Warehouse Profit, Profit, Store Invoice, Units Ordered, Unit Sales,
> > Sales Count, Supply Time, Average Warehouse Sale, Profit Per Unit
> Shipped,
> > Warehouse Cost, Profit last Period, Customer Count, Promotion Sales,
> Units
> > Shipped, Store Sales, Warehouse Sales, Store Cost, Profit Growth]>
> >
> > at junit.framework.Assert.fail(Assert.java:47)
> >
> > at junit.framework.Assert.failNotEquals(Assert.java:282)
> >
> > at junit.framework.Assert.assertEquals(Assert.java:64)
> >
> > at junit.framework.Assert.assertEquals(Assert.java:71)
> >
> > at org.olap4j.ConnectionTest.testVirtualCubeCmBug(
> ConnectionTest.java:2156)
> >
> >
> > testVirtualCubeCmBug(org.olap4j.ConnectionTest)  Time elapsed: 0.125 sec
> > <<< FAILURE!
> >
> > junit.framework.AssertionFailedError: expected:<[Warehouse Profit,
> Profit,
> > Units Ordered, Store Invoice, Unit Sales, Supply Time, Sales Count,
> Average
> > Warehouse Sale, Profit Per Unit Shipped, Warehouse Cost, Profit last
> Period,
> > Units Shipped, Store Sales, Warehouse Sales, Store Cost, Profit Growth]>
> but
> > was:<[Warehouse Profit, Profit, Store Invoice, Units Ordered, Unit Sales,
> > Sales Count, Supply Time, Average Warehouse Sale, Profit Per Unit
> Shipped,
> > Warehouse Cost, Profit last Period, Customer Count, Promotion Sales,
> Units
> > Shipped, Store Sales, Warehouse Sales, Store Cost, Profit Growth]>
> >
> > at junit.framework.Assert.fail(Assert.java:47)
> >
> > at junit.framework.Assert.failNotEquals(Assert.java:282)
> >
> > at junit.framework.Assert.assertEquals(Assert.java:64)
> >
> > at junit.framework.Assert.assertEquals(Assert.java:71)
> >
> > at org.olap4j.ConnectionTest.testVirtualCubeCmBug(
> ConnectionTest.java:2156)
> >
> >
> > testMondrian1133(mondrian.test.SteelWheelsSchemaTest)  Time elapsed:
> 0.003
> > sec  <<< ERROR!
> >
> > mondrian.olap.MondrianException: Mondrian Error:Internal error: Error
> while
> > creating SQL connection: Jdbc=jdbc:mysql://localhost/steelwheels;
> > JdbcUser=foodmart; JdbcPassword=foodmart
> >
> > at mondrian.resource.MondrianResource$_Def0.ex(
> MondrianResource.java:992)
> >
> > at mondrian.olap.Util.newInternal(Util.java:2543)
> >
> > at mondrian.olap.Util.newError(Util.java:2559)
> >
> > at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:239)
> >
> > at mondrian.rolap.RolapSchema.<init>(RolapSchema.java:191)
> >
> > at mondrian.rolap.RolapSchemaUpgrader.upgrade(
> RolapSchemaUpgrader.java:101)
> >
> > at mondrian.rolap.RolapSchemaLoader.loadStage0(
> RolapSchemaLoader.java:254)
> >
> > at
> > mondrian.rolap.RolapSchemaLoader.createSchema(
> RolapSchemaLoader.java:4303)
> >
> > at mondrian.rolap.RolapSchemaPool.get(RolapSchemaPool.java:210)
> >
> > at mondrian.rolap.RolapSchemaPool.get(RolapSchemaPool.java:62)
> >
> > at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:160)
> >
> > at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:84)
> >
> > at mondrian.olap.DriverManager.getConnection(DriverManager.java:112)
> >
> > at mondrian.test.TestContext.getConnection(TestContext.java:394)
> >
> > at mondrian.test.TestContext.executeQuery(TestContext.java:710)
> >
> > at
> > mondrian.test.SteelWheelsSchemaTest.testMondrian1133(
> SteelWheelsSchemaTest.java:601)
> >
> > Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
> > Unknown database 'steelwheels'
> >
> > at sun.reflect.GeneratedConstructorAccessor207.newInstance(Unknown
> Source)
> >
> > at
> > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(
> DelegatingConstructorAccessorImpl.java:45)
> >
> > at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
> >
> > at com.mysql.jdbc.Util.handleNewInstance(Util.java:408)
> >
> > at com.mysql.jdbc.Util.getInstance(Util.java:383)
> >
> > at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1062)
> >
> > at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4226)
> >
> > at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4158)
> >
> > at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:926)
> >
> > at
> > com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableA
> uthentication(MysqlIO.java:1748)
> >
> > at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1288)
> >
> > at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2508)
> >
> > at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(
> ConnectionImpl.java:2541)
> >
> > at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2323)
> >
> > at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:832)
> >
> > at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
> >
> > at sun.reflect.GeneratedConstructorAccessor126.newInstance(Unknown
> Source)
> >
> > at
> > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(
> DelegatingConstructorAccessorImpl.java:45)
> >
> > at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
> >
> > at com.mysql.jdbc.Util.handleNewInstance(Util.java:408)
> >
> > at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:417)
> >
> > at
> > com.mysql.jdbc.NonRegisteringDriver.connect(
> NonRegisteringDriver.java:344)
> >
> > at java.sql.DriverManager.getConnection(DriverManager.java:571)
> >
> > at java.sql.DriverManager.getConnection(DriverManager.java:187)
> >
> > at
> > org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(
> DriverManagerConnectionFactory.java:51)
> >
> > at
> > org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(
> PoolableConnectionFactory.java:290)
> >
> > at
> > org.apache.commons.pool.impl.GenericObjectPool.borrowObject(
> GenericObjectPool.java:771)
> >
> > at
> > org.apache.commons.dbcp.PoolingDataSource.getConnection(
> PoolingDataSource.java:95)
> >
> > at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:212)
> >
> > ... 36 more
> >
> >
> > On Thu, Nov 10, 2016 at 2:53 AM, Julian Hyde <julianhyde at gmail.com>
> wrote:
> >>
> >> You’re on the “lagunitas” branch, right?
> >>
> >> I would build using “mvn clean install”. That said, I haven’t built in a
> >> while, and I get an error due to missing
> >> "pentaho#mondrian-data-foodmart;1.0.0”. Does anyone else get that
> error?
> >>
> >> Julian
> >>
> >> On Nov 9, 2016, at 7:13 PM, Charlie Hubbard <charlie at fuseanalytics.com>
> >> wrote:
> >>
> >> Hi,
> >>
> >> I'm trying to build a jar file from Mondrian 4.  Do I use the maven
> build
> >> or ant jar?  What do I do about failing tests?  It wants to load Steel
> >> Wheels, OLAP4J tests that don't seem to be there, both of which those
> fail.
> >> Other tests seem to fail out of the box as well.
> >>
> >> I followed the instructions in the Dev Guide and setup
> mondrian.properties
> >> file pointing at mysql server.
> >>
> >> Charlie
> >> --
> >> Charlie Hubbard | Chief Technology Officer
> >> Fuse Analytics  | 404.234.8094
> >> _______________________________________________
> >> Mondrian mailing list
> >> Mondrian at pentaho.org
> >> http://lists.pentaho.org/mailman/listinfo/mondrian
> >>
> >>
> >>
> >> _______________________________________________
> >> Mondrian mailing list
> >> Mondrian at pentaho.org
> >> http://lists.pentaho.org/mailman/listinfo/mondrian
> >>
> >
> >
> >
> > --
> > Charlie Hubbard | Chief Technology Officer
> > Fuse Analytics  | 404.234.8094
> >
> > _______________________________________________
> > Mondrian mailing list
> > Mondrian at pentaho.org
> > http://lists.pentaho.org/mailman/listinfo/mondrian
> >
> _______________________________________________
> Mondrian mailing list
> Mondrian at pentaho.org
> http://lists.pentaho.org/mailman/listinfo/mondrian
>



-- 
Charlie Hubbard | Chief Technology Officer
Fuse Analytics  | 404.234.8094
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pentaho.org/pipermail/mondrian/attachments/20161111/bef55d20/attachment-0001.html 


More information about the Mondrian mailing list