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-3594) RuleSets capture and illegally use allocator from the first query executed on the drillbit
Date Mon, 03 Aug 2015 22:53:05 GMT

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

ASF GitHub Bot commented on DRILL-3594:
---------------------------------------

GitHub user cwestin opened a pull request:

    https://github.com/apache/drill/pull/102

    DRILL-3594: don't use first query's allocator for rest of drillbit's …

    DrillRuleSets.getDrillBasicRules() lazily constructed the singleton set of rules to use.
However, some of the rule objects capture the current query's context. The new memory allocator
detected that the allocator from the query context of the first query is being used later,
for other queries' rules processing, even though that allocator has been closed. This patch
creates a static set of rules, and using that, creates a new set for each query, allowing
the rules that need the current context to use that, because those are only added to the set
to be used for this query.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/cwestin/incubator-drill alloc-rulesets

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/drill/pull/102.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #102
    
----
commit b061568ed880f40eaec1bc381170e7c5e9abf0f7
Author: Chris Westin <cwestin@yahoo.com>
Date:   2015-08-03T20:13:21Z

    DRILL-3594: don't use first query's allocator for rest of drillbit's life

----


> RuleSets capture and illegally use allocator from the first query executed on the drillbit
> ------------------------------------------------------------------------------------------
>
>                 Key: DRILL-3594
>                 URL: https://issues.apache.org/jira/browse/DRILL-3594
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Execution - Flow
>    Affects Versions: 1.1.0
>            Reporter: Chris Westin
>            Assignee: Chris Westin
>
> DrillRuleSets.java lazily creates a list of rules that are used to decide on optimizations.
This is done lazily because some of the rules require some context to operate on. However,
the ones that do capture context that should not be used after the current query completes.
In particular, the new allocator has caught later queries using the allocator created (and
since closed) for the first query executed on the drillbit.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message