Problem Description:


The cube building process fails with the below error.


2019-09-04 18:42:26,416 ERROR [main] impl.CubeBuildExecutor:153 : io.infoworks.cube.exception.CubeBuildExecuteException: Failed to save cube desc

    at io.infoworks.cube.job.impl.CubeBuildJob.main(CubeBuildJob.java:116)

    at io.infoworks.cube.job.impl.CubeBuildJob.execute(CubeBuildJob.java:278)

    at io.infoworks.cube.job.impl.CubeBuildExecutor.buildMain(CubeBuildExecutor.java:126)

    at io.infoworks.cube.job.impl.CubeBuildExecutor.execBuild(CubeBuildExecutor.java:46)

    at io.infoworks.cube.job.impl.CubeBuildExecutor.buildCube(CubeBuildExecutor.java:57)

    at io.infoworks.cube.Driver.buildCube(Driver.java:75)

    at io.infoworks.cube.Driver.main(Driver.java:47)

Caused by: java.io.IOException: Failed to execute post request for url http://LOCALHOST:7070/kylin/api/cubes with request body 

    at io.infoworks.cube.client.kylin.restclient.client.HttpRestClient.executePostRequest(HttpRestClient.java:75)

    at io.infoworks.cube.client.kylin.restclient.CubeEngineRestClient.saveCubeDesc(CubeEngineRestClient.java:277)

    at io.infoworks.cube.client.impl.KylinClient.saveCubeDescIfNotExists(KylinClient.java:69)

    at io.infoworks.cube.job.impl.CubeBuildJob.main(CubeBuildJob.java:114)

    ... 6 more

Caused by: java.io.IOException: Invalid response 500 with response 

{"code":"999","data":null,"msg":"AggregationGroup incomplete ","stacktrace":"org.apache.kylin.rest.exception.InternalErrorException: AggregationGroup incomplete


Root cause: This issue happens if there are no Normal columns set in the fact table. We need to set some columns as Normal columns in the fact table and during the cube build time, the aggregations would be done on these normal columns and the data would be saved accordingly in HBase. 


If we do not set any normal columns the output of the cube build process will not have any output columns. It will not compute anything and the job is failing because of this.


Once you set the columns as normal columns, they would be displayed as shown below in the fact table.

 


Solution:

Double click the fact table, select the columns that will be used in where clause or group by in your SQL queries and set them as Normal columns and then build the cube. This should resolve this issue.



Also, once the normal columns are set, you can create aggregation groups out of these normal columns when you click on Advanced option in the cube editor page. 

Please refer the below documentation for more information on Cube design and creation.


https://docs.infoworks.io/datafoundry-2.8.0/cube


Applies to Infoworks Versions


IWX v2.4.x,2.5.x,2.6.x,2.7.x,2.8.x