Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id C0A592004F5 for ; Fri, 1 Sep 2017 23:50:46 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id BDB4416DCC2; Fri, 1 Sep 2017 21:50:46 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 11B6F16DCC3 for ; Fri, 1 Sep 2017 23:50:45 +0200 (CEST) Received: (qmail 3137 invoked by uid 500); 1 Sep 2017 21:50:44 -0000 Mailing-List: contact dev-help@drill.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@drill.apache.org Delivered-To: mailing list dev@drill.apache.org Received: (qmail 3111 invoked by uid 99); 1 Sep 2017 21:50:43 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 01 Sep 2017 21:50:43 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 1B13AE053D; Fri, 1 Sep 2017 21:50:43 +0000 (UTC) From: paul-rogers To: dev@drill.apache.org Reply-To: dev@drill.apache.org References: In-Reply-To: Subject: [GitHub] drill pull request #928: DRILL-5716: Queue-driven memory allocation Content-Type: text/plain Message-Id: <20170901215043.1B13AE053D@git1-us-west.apache.org> Date: Fri, 1 Sep 2017 21:50:43 +0000 (UTC) archived-at: Fri, 01 Sep 2017 21:50:46 -0000 Github user paul-rogers commented on a diff in the pull request: https://github.com/apache/drill/pull/928#discussion_r136665398 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/ExecConstants.java --- @@ -373,13 +373,26 @@ String AVERAGE_FIELD_WIDTH_KEY = "planner.memory.average_field_width"; OptionValidator AVERAGE_FIELD_WIDTH = new PositiveLongValidator(AVERAGE_FIELD_WIDTH_KEY, Long.MAX_VALUE); + // Resource management boot-time options. + + String MAX_MEMORY_PER_NODE = "drill.exec.rm.memory_per_node"; + String MAX_CPUS_PER_NODE = "drill.exec.rm.cpus_per_node"; + + // Resource management system run-time options. + + // Enables queues. When running embedded, enables an in-process queue. When + // running distributed, enables the Zookeeper-based distributed queue. + BooleanValidator ENABLE_QUEUE = new BooleanValidator("exec.queue.enable"); LongValidator LARGE_QUEUE_SIZE = new PositiveLongValidator("exec.queue.large", 1000); LongValidator SMALL_QUEUE_SIZE = new PositiveLongValidator("exec.queue.small", 100000); - LongValidator QUEUE_THRESHOLD_SIZE = new PositiveLongValidator("exec.queue.threshold", - Long.MAX_VALUE); - LongValidator QUEUE_TIMEOUT = new PositiveLongValidator("exec.queue.timeout_millis", - Long.MAX_VALUE); + LongValidator QUEUE_THRESHOLD_SIZE = new PositiveLongValidator("exec.queue.threshold", Long.MAX_VALUE); + LongValidator QUEUE_TIMEOUT = new PositiveLongValidator("exec.queue.timeout_millis", Long.MAX_VALUE); + + // Ratio of memory for small queries vs. large queries. + // Each small query gets 1 unit, each large query gets QUEUE_MEMORY_RATIO units. + + DoubleValidator QUEUE_MEMORY_RATIO = new RangeDoubleValidator("exec.queue.memory_ratio", 0.001, 1000); --- End diff -- Sure, makes sense. --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastructure@apache.org or file a JIRA ticket with INFRA. ---