Uploaded image for project: 'Apache Drill'
  1. Apache Drill
  2. DRILL-5918

Allow manual configuration when using Runtime.getRuntime().availableProcessors()

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Critical
    • Resolution: Unresolved
    • 1.11.0
    • None
    • None
    • None

    Description

      Currently Drill auto-configures the number of threads in various thread pools based on the processor count:

      https://github.com/apache/drill/blob/master/exec/java-exec/src/main/java/org/apache/drill/exec/server/BootStrapContext.java#L110
      https://github.com/apache/drill/blob/master/exec/java-exec/src/main/java/org/apache/drill/exec/server/options/TypeValidators.java#L269
      https://github.com/apache/drill/blob/master/exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/rm/AbstractResourceManager.java#L55
      https://github.com/apache/drill/blob/master/exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/rm/DefaultResourceManager.java#L99

      In a number of situations, this configuration is incorrect. In particular, the settings aren't correct when [running in a bare-metal container](https://docs.google.com/document/d/1WGPGiJtbJZPZBMSD9YHAAz-O4AlAET9qOnS_GeriZtE/edit?usp=sharing) because you don't necessarily have access to all of the compute shares or memory of the underlying host.

      Ideally, the number of CPUs to use could be specified as a system parameter to Drill. This would allow users to configure Drill to their optimal settings.

      Attachments

        Activity

          People

            karthikm Karthikeyan Manivannan
            elijah Elijah Zupancic
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: