[
https://issues.apache.org/jira/browse/DRILL-5533?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16022511#comment-16022511
]
ASF GitHub Bot commented on DRILL-5533:
---------------------------------------
Github user arina-ielchiieva commented on a diff in the pull request:
https://github.com/apache/drill/pull/843#discussion_r118184300
--- Diff:
exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/FunctionInitializer.java
---
@@ -119,33 +117,35 @@ private void checkInit() {
}
}
- private CompilationUnit get(Class<?> c) throws IOException {
- String path = c.getName();
+ /**
+ * Using class name generates path to class source code (*.java),
+ * reads its content as string and parses it into {@link
org.codehaus.janino.Java.CompilationUnit}.
+ *
+ * @param clazz function class
+ * @return compilation unit
+ * @throws IOException if did not find class or could not load it
+ */
+ public CompilationUnit convertToCompilationUnit(Class<?> clazz) throws
IOException {
--- End diff --
Sure, did not revert by accident. Thanks for noticing.
> Fix flag assignment in FunctionInitializer.checkInit() method
> -------------------------------------------------------------
>
> Key: DRILL-5533
> URL: https://issues.apache.org/jira/browse/DRILL-5533
> Project: Apache Drill
> Issue Type: Bug
> Affects Versions: 1.10.0
> Reporter: Arina Ielchiieva
> Assignee: Arina Ielchiieva
> Priority: Minor
>
> FunctionInitializer.checkInit() method uses DCL to ensure that function body
> is loaded only once. But flag parameter is never updated and all threads are
> entering synchronized block.
> Also FunctionInitializer.getImports() always returns empty list.
> https://github.com/apache/drill/blob/3e8b01d5b0d3013e3811913f0fd6028b22c1ac3f/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/FunctionInitializer.java
> Changes:
> 1. Fix DCL in FunctionInitializer.checkInit() method (update flag parameter
> when function body is loaded).
> 2. Fix ImportGrabber.getImports() method to return list with imports.
> 3. Add unit tests for FunctionInitializer.
> 4. Minor refactoring (rename methods, add javadoc).
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)