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

ASF GitHub Bot commented on DRILL-4715:
---------------------------------------

Github user sudheeshkatkam commented on a diff in the pull request:

    https://github.com/apache/drill/pull/521#discussion_r68133124
  
    --- Diff: exec/java-exec/src/test/java/org/apache/drill/exec/ExecTest.java 
---
    @@ -17,17 +17,54 @@
      */
     package org.apache.drill.exec;
     
    +import com.codahale.metrics.MetricRegistry;
    +import mockit.NonStrictExpectations;
    +import org.apache.drill.common.config.DrillConfig;
    +import org.apache.drill.common.scanner.ClassPathScanner;
    +import org.apache.drill.exec.compile.CodeCompilerTestFactory;
    +import org.apache.drill.exec.exception.StoreException;
    +import org.apache.drill.exec.memory.RootAllocatorFactory;
     import org.apache.drill.exec.metrics.DrillMetrics;
    +import org.apache.drill.exec.physical.impl.OperatorCreatorRegistry;
    +import org.apache.drill.exec.planner.PhysicalPlanReaderTestFactory;
    +import org.apache.drill.exec.server.DrillbitContext;
    +import org.apache.drill.exec.server.options.SystemOptionManager;
    +import 
org.apache.drill.exec.store.sys.store.provider.LocalPersistentStoreProvider;
     import org.apache.drill.test.DrillTest;
     import org.junit.After;
    +import org.junit.BeforeClass;
    +
    +import static org.apache.drill.exec.RunRootExec.c;
     
     public class ExecTest extends DrillTest {
     
    +  protected static SystemOptionManager optionManager;
    +
       @After
       public void clear(){
         // TODO:  (Re DRILL-1735) Check whether still needed now that
         // BootstrapContext.close() resets the metrics.
         DrillMetrics.resetMetrics();
       }
     
    +
    +  @BeforeClass
    +  public static void setupOptionManager() throws Exception{
    +    final LocalPersistentStoreProvider provider = new 
LocalPersistentStoreProvider(c);
    +    provider.start();
    +    optionManager = new 
SystemOptionManager(PhysicalPlanReaderTestFactory.defaultLogicalPlanPersistence(c),
 provider);
    +    optionManager.init();
    +  }
    +
    +  protected void initDrillbitContext(final DrillbitContext bitContext) 
throws Exception {
    --- End diff --
    
    How about `mockDrillbitContext(...)`?


> Java compilation error for a query with large number of expressions
> -------------------------------------------------------------------
>
>                 Key: DRILL-4715
>                 URL: https://issues.apache.org/jira/browse/DRILL-4715
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Execution - Codegen
>            Reporter: Jinfeng Ni
>
> The following query would hit compilation error, when Drill generates and 
> compiles the run-time code. 
> Q1 :
> {code}
> select  expr1, expr2, expr3, ...., exprN
> from table
> {code} 
> In Q1, expr1, expr2, ..., exprN are non-trivial expression (in stead of 
> simply column reference), and N is big enough, then the run-time generated 
> code may have a method which goes beyond the 64k limit imposed by JVM. 
> This seems to be a regression from DRILL-3912 (Common subexpression 
> elimination). CSE tries to put as many expressions in one block as possible, 
> to detect and eliminate as many CSE as possible. However, this implies we may 
> end up with big method with compilation error.
>     



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to