You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2019/12/17 17:01:00 UTC

[jira] [Commented] (IMPALA-4192) Pull all expressions in a fragment into QueryState

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

ASF subversion and git services commented on IMPALA-4192:
---------------------------------------------------------

Commit f1c9f4c093bde9b6b8dc66c20021ab627c1842ae in impala's branch refs/heads/master from Bikramjeet Vig
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=f1c9f4c ]

IMPALA-4192: Move static state from ExecNode into a PlanNode

This patch adds a new class called PlanNode which contains a subset
of the static state  of their corresponding ExecNode, of which there
is one instance per fragment. ExecNode contains the runtime state
and there can be up to MT_DOP instances of it per fragment.

It also adds a similar class called AggregatorConfig which contains
static state initialized from the thrift aggregator struct and is
passed as an input to the Aggregator class's constructor.

Eventually all static state including codegened function pointers
would be moved to the PlanNodes.

Testing:
Ran exhaustive tests successfully.

Change-Id: I69f1676bf67bac31fa5902511b3fcc269fd67472
Reviewed-on: http://gerrit.cloudera.org:8080/14764
Reviewed-by: Bikramjeet Vig <bi...@cloudera.com>
Tested-by: Impala Public Jenkins <im...@cloudera.com>


> Pull all expressions in a fragment into QueryState
> --------------------------------------------------
>
>                 Key: IMPALA-4192
>                 URL: https://issues.apache.org/jira/browse/IMPALA-4192
>             Project: IMPALA
>          Issue Type: Sub-task
>          Components: Backend
>    Affects Versions: Impala 2.8.0
>            Reporter: Michael Ho
>            Assignee: Bikramjeet Vig
>            Priority: Major
>              Labels: codegen
>
> Currently, Exprs in a fragment are scattered through the TPlanNode in a fragment. Expr is supposed to be shared by all threads but they are always accessed through thread-private state ExprContext. With multi-threading, an Expr in a fragment and its generated IR function should be shared among all instances of it.
> As part of IMPALA-4080, all Expr in a fragment will be moved to query-wide state instead of having multiple copies of them in the exec nodes of each instances. In addition, moving Expr to query-wide state prevents the mistakes of baking in thread private states (e.g. ExprContext pointers) into the generated IR code for an Expr.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org