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

TableSchemaUpdateChecker didn't check models when reload table

    XMLWordPrintableJSON

    Details

    • 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:
      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

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

                Dates

                • Created:
                  Updated:
                  Resolved: