drill-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jason Altekruse" <altekruseja...@gmail.com>
Subject Re: Review Request 31871: 2406 - part 2 - (subset of 2060 part 2) enable interpreted expression evaluation at planning time
Date Wed, 11 Mar 2015 01:00:54 GMT

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/31871/
-----------------------------------------------------------

(Updated March 11, 2015, 1 a.m.)


Review request for drill and Jacques Nadeau.


Changes
-------

Fixed the getAllocator method in QueryContext to be public again, had temporarily set it to
packae to see the impact, only to discover that my use of it happened in a later patch. I
had forgotten to revert it. I also re-generated the parent patch so now the changes on FragmentContext
properly show here.


Bugs: DRILL-2406
    https://issues.apache.org/jira/browse/DRILL-2406


Repository: drill-git


Description
-------

To enable planning rules to take advantage of constant expressions in queries, or to allow
them to run queries against small datasets, such as partition information we need to e able
to evaluate expressions at planning time. Expression evaluation in the regular expecuation
path is relatively expensive, as it invovles java code generation, compilation and JITing
expression trees. An interpreted expression system was added recently to allow evaluating
an expression without generating java code at runtime. This patch exposes that work (after
some refactorings in 2143 and the first part of 2406) to the planning context for use in optimizer
rules.


Diffs (updated)
-----

  exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillFunctionRegistry.java 00aaec6

  exec/java-exec/src/main/java/org/apache/drill/exec/memory/BufferAllocator.java 30b905f 
  exec/java-exec/src/main/java/org/apache/drill/exec/memory/TopLevelAllocator.java 2a28bcb

  exec/java-exec/src/main/java/org/apache/drill/exec/ops/BufferManager.java PRE-CREATION 
  exec/java-exec/src/main/java/org/apache/drill/exec/ops/FragmentContext.java 108f5bb 
  exec/java-exec/src/main/java/org/apache/drill/exec/ops/QueryContext.java c881432 
  exec/java-exec/src/main/java/org/apache/drill/exec/planner/fragment/SimpleParallelizer.java
f8d1803 
  exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillReduceAggregatesRule.java
93fff35 
  exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/InsertLocalExchangeVisitor.java
907fcb1 
  exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/DrillSqlOperator.java 6b54c43

  exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/Foreman.java 409450f 
  exec/java-exec/src/main/java/org/apache/drill/exec/work/fragment/FragmentExecutor.java 4ab3cc0

  exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestLocalExchange.java
fc1c6b9 
  exec/java-exec/src/test/java/org/apache/drill/exec/pop/TestFragmentChecker.java 07d310a


Diff: https://reviews.apache.org/r/31871/diff/


Testing
-------

Cluster tests completed, waiting on unit tests.


Thanks,

Jason Altekruse


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message