drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DRILL-5601) Rollup of External Sort memory management fixes
Date Wed, 19 Jul 2017 18:00:04 GMT

    [ https://issues.apache.org/jira/browse/DRILL-5601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16093519#comment-16093519

ASF GitHub Bot commented on DRILL-5601:

Github user paul-rogers commented on a diff in the pull request:

    --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/xsort/managed/SortMemoryManager.java
    @@ -97,24 +215,43 @@
       private SortConfig config;
    -  private int estimatedInputSize;
       private boolean potentialOverflow;
    -  public SortMemoryManager(SortConfig config, long memoryLimit) {
    +  private boolean isLowMemory;
    +  private boolean performanceWarning;
    +  public SortMemoryManager(SortConfig config, long opMemoryLimit) {
         this.config = config;
         // The maximum memory this operator can use as set by the
         // operator definition (propagated to the allocator.)
         if (config.maxMemory() > 0) {
    --- End diff --
    This is just a bit tricky. A config value of 0 means ignore the config value (the else
condition.) If the config value is set, use it, unless it is greater than the operator-defined
limit, in which case use the operator limit.
    Still, cleaned this up some.

> Rollup of External Sort memory management fixes
> -----------------------------------------------
>                 Key: DRILL-5601
>                 URL: https://issues.apache.org/jira/browse/DRILL-5601
>             Project: Apache Drill
>          Issue Type: Task
>    Affects Versions: 1.11.0
>            Reporter: Paul Rogers
>            Assignee: Paul Rogers
>             Fix For: 1.12.0
> Rollup of a set of specific JIRA entries that all relate to the very difficult problem
of managing memory within Drill in order for the external sort to stay within a memory budget.
In general, the fixes relate to better estimating memory used by the three ways that Drill
allocates vector memory (see DRILL-5522) and to predicting the size of vectors that the sort
will create, to avoid repeated realloc-copy cycles (see DRILL-5594).

This message was sent by Atlassian JIRA

View raw message