Aman Sinha created DRILL-1574:
---------------------------------

             Summary: Storing system options in zookeeper causes accessing zk 
during code generation
                 Key: DRILL-1574
                 URL: https://issues.apache.org/jira/browse/DRILL-1574
             Project: Apache Drill
          Issue Type: Improvement
          Components: Execution - Codegen
    Affects Versions: 0.6.0
            Reporter: Aman Sinha


While debugging a different issue, I noticed that when the CodeCompiler does a 
lookup in the local cache for the generated code, it actually ends up making an 
access to Zookeeper to get the System Options.  This should be avoided because 
we will do this for each and every generated code class. 

...
        at org.apache.drill.exec.store.sys.zk.ZkPStore.get(ZkPStore.java:90) 
~[drill-java-exec-0.7.0-incubating-SNAPSHOT-rebuffed.jar:0.7.0-incubating-SNAPSHOT]
        at 
org.apache.drill.exec.server.options.SystemOptionManager.getOption(SystemOptionManager.java:142)
 
~[drill-java-exec-0.7.0-incubating-SNAPSHOT-rebuffed.jar:0.7.0-incubating-SNAPSHOT]
        at 
org.apache.drill.exec.compile.QueryClassLoader$ClassCompilerSelector.<init>(QueryClassLoader.java:118)
 
~[drill-java-exec-0.7.0-incubating-SNAPSHOT-rebuffed.jar:0.7.0-incubating-SNAPSHOT]
        at 
org.apache.drill.exec.compile.QueryClassLoader.<init>(QueryClassLoader.java:76) 
~[drill-java-exec-0.7.0-incubating-SNAPSHOT-rebuffed.jar:0.7.0-incubating-SNAPSHOT]
        at 
org.apache.drill.exec.compile.CodeCompiler$Loader.load(CodeCompiler.java:70) 
~[drill-java-exec-0.7.0-incubating-SNAPSHOT-rebuffed.jar:0.7.0-incubating-SNAPSHOT]
        at 
org.apache.drill.exec.compile.CodeCompiler$Loader.load(CodeCompiler.java:67) 
~[drill-java-exec-0.7.0-incubating-SNAPSHOT-rebuffed.jar:0.7.0-incubating-SNAPSHOT]
        at 
com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3599)
 ~[guava-14.0.1.jar:na]
        at 
com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2379) 
~[guava-14.0.1.jar:na]
        at 
com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2342)
 ~[guava-14.0.1.jar:na]
        at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2257) 
~[guava-14.0.1.jar:na]
        at com.google.common.cache.LocalCache.get(LocalCache.java:4000) 
~[guava-14.0.1.jar:na]
        at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4004) 
~[guava-14.0.1.jar:na]
        at 
com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4874) 
~[guava-14.0.1.jar:na]
        at 
org.apache.drill.exec.compile.CodeCompiler.getImplementationClass(CodeCompiler.java:60)
 
~[drill-java-exec-0.7.0-incubating-SNAPSHOT-rebuffed.jar:0.7.0-incubating-SNAPSHOT]
        at 
org.apache.drill.exec.ops.FragmentContext.getImplementationClass(FragmentContext.java:209)
 
~[drill-java-exec-0.7.0-incubating-SNAPSHOT-rebuffed.jar:0.7.0-incubating-SNAPSHOT]
        at 
org.apache.drill.exec.ops.FragmentContext.getImplementationClass(FragmentContext.java:205)
 
~[drill-java-exec-0.7.0-incubating-SNAPSHOT-rebuffed.jar:0.7.0-incubating-SNAPSHOT]
        at 
org.apache.drill.exec.physical.impl.join.MergeJoinBatch.generateNewWorker(MergeJoinBatch.java:416)
 
~[drill-java-exec-0.7.0-incubating-SNAPSHOT-rebuffed.jar:0.7.0-incubating-SNAPSHOT]
        at 
org.apache.drill.exec.physical.impl.join.MergeJoinBatch.innerNext(MergeJoinBatch.java:173)
 
~[drill-java-exec-0.7.0-incubating-SNAPSHOT-rebuffed.jar:0.7.0-incubating-SNAPSHOT]



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

Reply via email to