You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Zelaine Fong (JIRA)" <ji...@apache.org> on 2017/03/02 22:53:45 UTC

[jira] [Resolved] (DRILL-5290) Provide an option to build operator table once for built-in static functions and reuse it across queries.

     [ https://issues.apache.org/jira/browse/DRILL-5290?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Zelaine Fong resolved DRILL-5290.
---------------------------------
    Resolution: Fixed

> Provide an option to build operator table once for built-in static functions and reuse it across queries.
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: DRILL-5290
>                 URL: https://issues.apache.org/jira/browse/DRILL-5290
>             Project: Apache Drill
>          Issue Type: Improvement
>    Affects Versions: 1.9.0
>            Reporter: Padma Penumarthy
>            Assignee: Padma Penumarthy
>              Labels: doc-impacting, ready-to-commit
>             Fix For: 1.10.0
>
>
> Currently, DrillOperatorTable which contains standard SQL operators and functions and Drill User Defined Functions (UDFs) (built-in and dynamic) gets built for each query as part of creating QueryContext. This is an expensive operation ( ~30 msec to build) and allocates  ~2M on heap for each query. For high throughput, low latency operational queries, we quickly run out of heap memory, causing JVM hangs. Build operator table once during startup for static built-in functions and save in DrillbitContext, so we can reuse it across queries.
> Provide a system/session option to not use dynamic UDFs so we can use the operator table saved in DrillbitContext and avoid building each time.
> *Please note, changes are adding new option exec.udf.use_dynamic which needs to be documented.*



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)