drill-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From arina-ielchiieva <...@git.apache.org>
Subject [GitHub] drill pull request #701: DRILL-4963: Sync remote and local function registri...
Date Wed, 21 Dec 2016 14:44:02 GMT
GitHub user arina-ielchiieva opened a pull request:

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

    DRILL-4963: Sync remote and local function registries before query ex…

    …ecution
    
    Lazy-init was performed only when function was not found during Calcite parsing but DRILL-4963
shows different cases when Calcite parsing can pass (usually during function overloading)
but still function is not found. To handle such cases, we need to sync remote and local function
registries before query execution. To make this sync as much light-weight as possible we first
compare remote and local function registries versions and start looking for missing jars only
when versions do not match. Under local function registry is implied remote function registry
version with which local function registry was synchronized last time.
    
    Changes:
    1. Add `consists` method to PersistentStore interface which can return true if key exists
in store, false otherwise. This method is needed to return only remote function registry version
without its content (unlike method `get`). We'll pull remote function registry content only
if versions are different.
    2. Added check if remote and local function registries are in sync before query execution
on planning and execution stages.
    3. Removed unused methods and changes connected with lazy-init implementation on failure
only.
    4. Added additional debug messages for `CreateFunctionHandler` and `DropFunctionHandler`.
    5. Updated unit tests to reflect new changes.
    
    
    


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

    $ git pull https://github.com/arina-ielchiieva/drill DRILL-4963

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

    https://github.com/apache/drill/pull/701.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 #701
    
----
commit 51ef6614a2c27cb6bb58fb0de875952f99e9b102
Author: Arina Ielchiieva <arina.yelchiyeva@gmail.com>
Date:   2016-12-20T16:57:15Z

    DRILL-4963: Sync remote and local function registries before query execution

----


---
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.
---

Mime
View raw message