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

After the multi-level partition model is modified to a full build model, the build job fails

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 5.0-alpha
    • 5.0-alpha
    • None
    • None

    Description

      There is inconsistent behavior when multi-level partition model is modified to a full build model.

      Added parameter check items for /api/models/semantic API. If PartitionDesc is null, then set MultiPartitionDesc to null。

      Detailed Description:

      行为1:在模型编辑页面从增量改成全量后,需要把分区设为无分区后,再点击构建才能正常构建。

      行为2:直接在模型列表处,点击构建,然后选择全量构建,可以构建成功

      二者不一致。

      行为1:

      1. 创建多级分区模型,并构建segment成功
      2. 编辑多级分区模型--将增量构建修改为全量构建 --修改成功
      3. 在模型页面直接点击构建,选择全量构建


      在模型保存页面将增量模型更改为全量模型,弹框提示“修改模型分区设置后,系统将删除所有 Segment 及数据,模型将无法服务于业务查询。同时正在执行的构建任务将被终止。是否要继续保存?”,点击保存后,可以观察到调用了/api/models/semantic接口,如图1所示,向接口传递的数据只把PartitionDesc置为了null,而多级子分区multi_partition_desc 并没有置为null,故而对该模型发起全量构建的过程中会判定为该模型为MultiPartitionJob

      同时,通过追踪全量构建调用链路可以发现,在constructFullBuild方法中new的jobParam并没有传递setTargetPartitions


      所以在后续的computeJobBucket方法中爆出了无法添加任务,子分区值为空。请检查后重试。异常,导致无法正常构建。

      行为2:

      1. 创建多级分区模型,并构建segment成功
      2. 在模型页面直接点击构建,选择全量构建

      在模型页面直接点击构建,选择全量构建后,弹框提示“修改模型分区设置后,系统将删除所有 Segment 及数据,模型将无法服务于业务查询。同时正在执行的构建任务将被终止。是否要继续保存?”点击保存后会调用api/models/{model_id}/partition 接口更新模型分区数据,接口内数据为:

      {"project":"caixukun","partition_desc":null}

      由于没有传递MultiPartitionDesc参数,所以request中的MultiPartitionDesc为null,所以updatePartitionColumn的时候也会把MultiPartitionDesc置为null。所以当执行到computeJobBucket的时候会因为不是MultiPartitionJob而直接return。所以可以成功发起构建

      Fix Design:

      前端改动:如果一个模型的PartitionDesc被置为了null,那么这个模型的multi_partition_desc必定为null。

      故而,基于此逻辑,可以在/api/models/semantic接口中,对multi_partition_desc做检查,如果传递过来的PartitionDesc为null,那么也把multi_partition_desc置为null。

      后端改动:在下面判断逻辑中新增对时间分区列的判断,只有时间分区列不为null且子分区不为空才能判定为多级分区模型。

      Attachments

        1. 1.png
          233 kB
          Ruixuan Zhang
        2. 2.png
          38 kB
          Ruixuan Zhang
        3. 3.png
          300 kB
          Ruixuan Zhang
        4. 4.png
          312 kB
          Ruixuan Zhang
        5. 5.png
          56 kB
          Ruixuan Zhang
        6. 6.png
          172 kB
          Ruixuan Zhang
        7. 7.png
          56 kB
          Ruixuan Zhang
        8. 8.png
          38 kB
          Ruixuan Zhang
        9. image-2023-02-17-17-07-02-564.png
          54 kB
          Ruixuan Zhang

        Activity

          People

            dorriszhang Ruixuan Zhang
            dorriszhang Ruixuan Zhang
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: