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

The query cannot be canceled immediately if it exceeds the timeout period

    XMLWordPrintableJSON

Details

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

    Description

      badquery到900S才被cancel,预期应该是超过300S就被cancel

       

      复现SQL见附件 test.sql

      Root Cause

      从这条 SQL 来看,卡在了 RestoreFromComputedColumn 这个里面,这个操作特别耗时,里面会最大调用 10次,对于这条 SQL,第一次耗时将近花了 250s,所以走到这个逻辑里面就需要等待执行完毕才能退出来,查询被取消。

      此外,在 SparkSqlClient 这里面在取数据的时候也存在类似问题。

       

      Fix  Design

      RestoreFromComputedColumn逻辑里面增加两个取消的锚点,阶段性执行完毕的时候如果用户发出了取消请求,在锚点处进行中断检查。

      对于SparkSqlClient迭代器取数增加锚点,每1000条会做一次检查。

       

       

       

      Attachments

        1. image-2023-01-09-17-58-49-310.png
          50 kB
          Jiale He
        2. image-2023-01-09-17-59-13-427.png
          40 kB
          Jiale He
        3. image-2023-01-09-18-02-42-960.png
          234 kB
          Jiale He
        4. test.sql
          1.90 MB
          Jiale He

        Activity

          People

            jlelehe Jiale He
            jlelehe Jiale He
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: