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

Make query visible and interruptible, improve server's stablility

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • v2.3.0
    • Query Engine
    • None

    Description

      Problem:
      1. Large query result will break kylin server, for example: select * from fact_table. Even when properties "kylin.query.scan.threshold" and "kylin.query.mem.budget" are set properly, OOM still happens, because the hbase rpc thread is not interrupted, the result will continually go to kylin server. And server will run OOM quickly when there are multiple such queries.
      2. Tow many slow queries will occupy all tomcat threads, and make server unresponsed.
      3. There's no corelation id for a specified query, so it is hard to find the rpc log for a specified query, if there are too many queries running concurrently.

      Solution:
      1. Interrupt the rpc thread and main query thread when return result size larger than the config limit size.
      2. Make query visible. Admin can view all running queries, and detail of each query.
      Split the query into following steps:
      1) sql parse
      2) cube plan
      3) query cache
      4) multiple cube segment query
      a. for each segment request, have muliple endpoint range request.
      b. for each endpoint range request, have multiple coprocessor request.
      c. for each coprocessor request, have multiple region server rpc.

      Admin can view the startTime/endTime of each step, and the thread stack trace if the step is running.
      3. Add query id as corelation id in the rpc log.
      4. Admin can interrupt a running query, to release the thread, memory, etc.

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            magang Gang Ma
            magang Gang Ma
            Votes:
            1 Vote for this issue
            Watchers:
            9 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment