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)

Reply via email to