[
https://issues.apache.org/jira/browse/KYLIN-913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14943364#comment-14943364
]
liyang commented on KYLIN-913:
------------------------------
Debug through and turns out this is because of PK declared as derived dimension
explicitly.
FK automatically derives PK. However user unaware of this can declare PK as
derived dimension explicitly and cause this error. Have it fixed.
> Cannot find rowkey column XXX in cube CubeDesc
> ----------------------------------------------
>
> Key: KYLIN-913
> URL: https://issues.apache.org/jira/browse/KYLIN-913
> Project: Kylin
> Issue Type: Bug
> Affects Versions: v0.7.2
> Reporter: Vadim Semenov
> Assignee: liyang
> Fix For: v2.0, v1.1
>
> Attachments: Comparison.png, Cube Data Model.png, Cube Dimensions.png
>
>
> While trying to save a cube with a derived column I get the following error:
> {code}
> Caused by: java.lang.IllegalArgumentException: Cannot find rowkey column
> PART_DT in cube CubeDesc [name=test]
> at
> org.apache.kylin.cube.model.RowKeyDesc.buildRowKey(RowKeyDesc.java:193)
> at org.apache.kylin.cube.model.RowKeyDesc.init(RowKeyDesc.java:172)
> at org.apache.kylin.cube.model.CubeDesc.init(CubeDesc.java:448)
> at
> org.apache.kylin.cube.CubeDescManager.createCubeDesc(CubeDescManager.java:150)
> at
> org.apache.kylin.rest.service.CubeService.createCubeAndDesc(CubeService.java:156)
> {code}
> cubeDescData:
> {code}
> {"name":"test","description":"","dimensions":[{"name":"DEFAULT.KYLIN_SALES.PART_DT","table":"DEFAULT.KYLIN_SALES","hierarchy":false,"derived":null,"column":["PART_DT"],"id":1},{"name":"DEFAULT.KYLIN_SALES.SELLER_ID","table":"DEFAULT.KYLIN_SALES","hierarchy":false,"derived":null,"column":["SELLER_ID"],"id":2},{"name":"DEFAULT.KYLIN_CAL_DT_derived","table":"DEFAULT.KYLIN_CAL_DT","hierarchy":false,"derived":["CAL_DT"],"column":null,"id":3}],"measures":[{"id":1,"name":"_COUNT_","function":{"expression":"COUNT","returntype":"bigint","parameter":{"type":"constant","value":"1"}}}],"rowkey":{"rowkey_columns":[{"column":"PART_DT","length":0,"dictionary":"true","mandatory":false},{"column":"SELLER_ID","length":0,"dictionary":"true","mandatory":false}],"aggregation_groups":[["PART_DT","SELLER_ID"]]},"notify_list":[],"capacity":"","hbase_mapping":{"column_family":[{"name":"f1","columns":[{"qualifier":"m","measure_refs":["_COUNT_"]}]}]},"project":"learn_kylin","model_name":"test"}
> {code}
> modelDescData:
> {code}
> {"name":"test","fact_table":"DEFAULT.KYLIN_SALES","lookups":[{"table":"DEFAULT.KYLIN_CAL_DT","join":{"type":"left","primary_key":["CAL_DT"],"foreign_key":["PART_DT"]}}],"filter_condition":"","capacity":"MEDIUM","partition_desc":{"partition_date_column":"","partition_date_start":0,"partition_type":"APPEND"},"last_modified":0}
> {code}
> The issue comes from {{PART_DT}} being in {{CubeDesc:derivedToHostMap}}
> therefore it's excluded from list of dimension columns in
> {{CubeDesc:listDimensionColumnsExcludingDerived()}}. So {{colNameAbbr}}
> doesn't have {{PART_DT}} in {{RowKeyDesc:170}} which causes the exception.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)