[Mondrian] Mondrian 4 Unit Test Failures

Julian Hyde julianhyde at gmail.com
Fri Nov 11 19:59:21 EST 2016


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.testDrillThroughMultiPositionCompoundSlicer(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.proceedHandshakeWithPluggableAuthentication(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
>


More information about the Mondrian mailing list