Uploaded image for project: 'Kylin'
  1. Kylin
  2. KYLIN-3835

TableSchemaUpdateChecker didn't check models when reload table



    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: v2.5.2
    • Fix Version/s: v2.6.2
    • Component/s: Metadata, REST Service
    • Labels:


      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


          Issue Links



              • Assignee:
                simpleyuzhang Yuzhang QIU
                simpleyuzhang Yuzhang QIU
              • Votes:
                0 Vote for this issue
                5 Start watching this issue


                • Created: