Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-6084

SQL: improve lazy execution threading model

    XMLWordPrintableJSON

Details

    • Task
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • 2.1
    • None
    • sql

    Description

      Currently "lazy" mode creates new thread for every query. Moreover, messages are queued to query pool first and then re-submitted to target thread. This makes execution of small queries inefficient.

      We need to do the following:
      1) Define separate pool for lazy execution
      2) It's size should be about 4 x cores, due to blocking nature of lazy execution
      3) Set thread timeouts
      4) Submit new query execute request to pool's shared queue from GridIoManager directly
      5) Submit "next page" requests to directly to proper thread, using [nodeId, queryId, segment] triplet
      6) Cancel request can be submitted to query pool and re-submitted to appropriate threads afterwards.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              vozerov Vladimir Ozerov
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: