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)