You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by "Mehant Baid (JIRA)" <ji...@apache.org> on 2014/04/21 02:41:14 UTC
[jira] [Updated] (DRILL-550) NPE while using custom Drill functions
[ https://issues.apache.org/jira/browse/DRILL-550?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mehant Baid updated DRILL-550:
------------------------------
Attachment: DRILL-550.patch
> NPE while using custom Drill functions
> --------------------------------------
>
> Key: DRILL-550
> URL: https://issues.apache.org/jira/browse/DRILL-550
> Project: Apache Drill
> Issue Type: New Feature
> Reporter: Mehant Baid
> Assignee: Mehant Baid
> Attachments: DRILL-550.patch
>
>
> Following is the stack trace for the query:
> "select repeated_count(A) from dfs.`/tmp/input.json`; "
> java.lang.NullPointerException
> at org.eigenbase.sql.util.ReflectiveSqlOperatorTable.lookupOperatorOverloads(ReflectiveSqlOperatorTable.java:88) ~[optiq-core-0.6.jar:na]
> at org.apache.drill.exec.planner.sql.DrillOperatorTable.lookupOperatorOverloads(DrillOperatorTable.java:76) ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
> at org.eigenbase.sql.validate.AggFinder.visit(AggFinder.java:92) ~[optiq-core-0.6.jar:na]
> at org.eigenbase.sql.validate.AggFinder.visit(AggFinder.java:32) ~[optiq-core-0.6.jar:na]
> at org.eigenbase.sql.SqlCall.accept(SqlCall.java:133) ~[optiq-core-0.6.jar:na]
> at org.eigenbase.sql.util.SqlBasicVisitor.visit(SqlBasicVisitor.java:44) ~[optiq-core-0.6.jar:na]
> at org.eigenbase.sql.SqlNodeList.accept(SqlNodeList.java:149) ~[optiq-core-0.6.jar:na]
> at org.eigenbase.sql.validate.AggFinder.findAgg(AggFinder.java:62) ~[optiq-core-0.6.jar:na]
> at org.eigenbase.sql.validate.SqlValidatorImpl.getAgg(SqlValidatorImpl.java:2316) ~[optiq-core-0.6.jar:na]
> at org.eigenbase.sql.validate.SqlValidatorImpl.isAggregate(SqlValidatorImpl.java:2303) ~[optiq-core-0.6.jar:na]
> at org.eigenbase.sql.validate.SqlValidatorImpl.registerQuery(SqlValidatorImpl.java:1997) ~[optiq-core-0.6.jar:na]
> at org.eigenbase.sql.validate.SqlValidatorImpl.registerQuery(SqlValidatorImpl.java:1921) ~[optiq-core-0.6.jar:na]
> at org.eigenbase.sql.validate.SqlValidatorImpl.validateScopedExpression(SqlValidatorImpl.java:708) ~[optiq-core-0.6.jar:na]
> at org.eigenbase.sql.validate.SqlValidatorImpl.validate(SqlValidatorImpl.java:426) ~[optiq-core-0.6.jar:na]
> at net.hydromatic.optiq.prepare.PlannerImpl.validate(PlannerImpl.java:170) ~[optiq-core-0.6.jar:na]
> at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateNode(DefaultSqlHandler.java:101) ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
> at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan(DefaultSqlHandler.java:86) ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
> at org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:85) ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
> at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:323) [drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
> at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:175) [drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_51]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_51]
> at java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]
> In DrillOperatorTable while looking up a given operator we hit NPE because the SqlIdentifier passed in is NULL. While registering Drill functions as Optiq's SqlFunction we need to use the constructor for user defined functions. Currently we use the same constructor as used for built-in functions where the SqlIdentifier is not set.
--
This message was sent by Atlassian JIRA
(v6.2#6252)