Yuzhang QIU created KYLIN-3835:
----------------------------------
Summary: [Defective TableSchemaUpdateChecker] Don't check used
models when reload table
Key: KYLIN-3835
URL: https://issues.apache.org/jira/browse/KYLIN-3835
Project: Kylin
Issue Type: Bug
Components: REST Service
Affects Versions: v2.5.2
Reporter: Yuzhang QIU
1. load table1 from hive.
2. create model1 based on table1 and use table1.column1 as dimension1
3. alter table1.column1 to table1.column11 in hive.
4. reload table1 successfully. (it's bug)
5. swicth to model, the model1 still exist. I can create cube1 based on model1
and launch a build job, of course, the job turn out error after a period of
time. (can't find table1.column1, etc)
6. reload metadata in system page, the model1 is disappeared from Web UI, and
cube1 change to DESCBROKEN, and can't be deleted due to "null" (trace the log,
I found it's caused by null DataModelDesc in CubeInstance).
7. I want to recreated the model1, but Kylin tell me model1 already existed in
current project. yes, I use 'sh bin/metadata.sh backup', I found the model1's
metadata is still stored in Hbase.
8. I hacked the code, the reload table validation is checked in
TableSchemaUpdateChecker.allowLoad(), but it just check the used cubes. If a
model using the changed table without any cube based on it, the table can be
reloaded successfully!
I think it shouldn't be like this.
Best regard
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)