[
https://issues.apache.org/jira/browse/DRILL-1574?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jacques Nadeau updated DRILL-1574:
----------------------------------
Fix Version/s: Future
> 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
> Fix For: Future
>
>
> 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)