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

TableSchemaUpdateChecker didn't check models when reload table

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • v2.5.2
    • v2.6.2
    • Metadata, REST Service
    • None

    Description

      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

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: