Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-16105

LLAP: refactor executor pool to not depend on RejectedExecutionEx for preemption

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None
    • None

    Description

      There's a queue inside the threadpool consisting of one item (that's how we set it up), which means that we can submit N+1 tasks and not get rejected, with one task still not running and no preemption happening (note that SyncQueue we pass in does not in fact block in TP, because TP calls offer not put; and if it did, preemption would never trigger at all because the only thread adding stuff to the TP would be blocked until the item was gone from the queue, meaning that there'd never be a rejection). Having a threadpool like this also limits our options to e.g. move the task that is being killed out immediately to start another one (that itself is out of the scope of this jira)

      Attachments

        Activity

          People

            sershe Sergey Shelukhin
            sershe Sergey Shelukhin
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: