Hi, Throw an exception information when using org.apache.kylin.storage.hbase.util .CubeMigrationCLI migration cube, kylin version is kylin-1.5.4.1-HBase1.x.
2016-10-17 14:57:25,595 INFO [main CubeMigrationCLI:325]: Executing operation: ADD_INTO_PROJECT:CUBE[name=testc], testc, test, 2016-10-17 14:57:25,595 ERROR [main CubeMigrationCLI:307]: error met java.lang.ClassCastException: org.apache.kylin.cube.CubeInstance cannot be cast to java.lang.String at org.apache.kylin.storage.hbase.util.CubeMigrationCLI.doOpt(CubeMigrationCLI.java:425) at org.apache.kylin.storage.hbase.util.CubeMigrationCLI.doOpts(CubeMigrationCLI.java:304) at org.apache.kylin.storage.hbase.util.CubeMigrationCLI.moveCube(CubeMigrationCLI.java:153) at org.apache.kylin.storage.hbase.util.CubeMigrationCLI.moveCube(CubeMigrationCLI.java:167) at org.apache.kylin.storage.hbase.util.CubeMigrationCLI.main(CubeMigrationCLI.java:102) 2016-10-17 14:57:25,597 INFO [main CubeMigrationCLI:308]: Try undoing previous changes In github , the source code of kylin - 1.5.4.1 - HBase1. X branch: case ADD_INTO_PROJECT: { String cubeName = (String) opt.params[0]; String projectName = (String) opt.params[1]; String projectResPath = ProjectInstance.concatResourcePath(projectName); Serializer<ProjectInstance> projectSerializer = new JsonSerializer<ProjectInstance>(ProjectInstance.class); ProjectInstance project = dstStore.getResource(projectResPath, ProjectInstance.class, projectSerializer); project.removeRealization(RealizationType.CUBE, cubeName); project.addRealizationEntry(RealizationType.CUBE, cubeName); dstStore.putResource(projectResPath, project, projectSerializer); logger.info("Project instance for " + projectName + " is corrected"); break; } This version of kylin 1.5.4.1 -- cdh5.7 is the same. the source code of master X branch: case ADD_INTO_PROJECT: { CubeInstance srcCube = (CubeInstance) opt.params[0]; String cubeName = (String) opt.params[1]; String projectName = (String) opt.params[2]; String modelName = srcCube.getDescriptor().getModelName(); String projectResPath = ProjectInstance.concatResourcePath(projectName); Serializer<ProjectInstance> projectSerializer = new JsonSerializer<ProjectInstance>(ProjectInstance.class); ProjectInstance project = dstStore.getResource(projectResPath, ProjectInstance.class, projectSerializer); project.addModel(modelName); project.removeRealization(RealizationType.CUBE, cubeName); project.addRealizationEntry(RealizationType.CUBE, cubeName); dstStore.putResource(projectResPath, project, projectSerializer); logger.info("Project instance for " + projectName + " is corrected"); break;. } I compare the two source code: kylin - 1.5.4.1 - HBase1. X branch 、kylin 1.5.4.1 -- cdh5.7 and master, I think in kylin - 1.5.4.1 - HBase1 .x 、kylin 1.5.4.1 -- cdh5.7 branch , the code of CubeMigrationCLI is wrong? Thank you!