drill-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From paul-rogers <...@git.apache.org>
Subject [GitHub] drill issue #701: DRILL-4963: Sync remote and local function registries befo...
Date Thu, 05 Jan 2017 22:15:13 GMT
Github user paul-rogers commented on the issue:

    https://github.com/apache/drill/pull/701
  
    General comment. Wasn't the design supposed to be that the lazy lookup would check for
the function both in planning ("Calcite") and execution times? The whole point of the lazy
init was to avoid per-query syncs (which will be prohibitively expensive for short queries)
and to avoid race conditions.
    
    I wonder, is the problem the *way* in which we are checking for functions? The issue in
this particular JIRA is a function with the same name as an existing function, but with different
signature. Did the original lazy init check only names? Could a fix be to check name &
signature?
    
    In general, the question is, can lazy init be preserved, but enhanced to handle the case
described in the bug? It seems a shame to move away from it after all the effort that went
into getting it (almost) right...
    
    If we switch to relying on syncing, we've got to rethink all the race conditions that
were meant to be resolved with lazy init. Seems we'd have to update the design doc. to match.
I'd really like to see if we can provide a fix that preserves the lazy init design so we keep
the performance & concurrency benefits that it provides.


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