[ 
https://issues.apache.org/jira/browse/DRILL-7673?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17069210#comment-17069210
 ] 

ASF GitHub Bot commented on DRILL-7673:
---------------------------------------

paul-rogers commented on pull request #2043: DRILL-7673: View set query fails 
with NPE for non-existing option
URL: https://github.com/apache/drill/pull/2043#discussion_r399613716
 
 

 ##########
 File path: 
exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/SetOptionHandler.java
 ##########
 @@ -63,9 +64,10 @@ public final PhysicalPlan getPlan(SqlNode sqlNode) throws 
ForemanSetupException
     SqlNode optionValue = statement.getValue();
 
     if (optionValue == null) {
+      OptionDefinition optionDefinition = 
optionManager.getOptionDefinition(optionName);
       String value = 
String.valueOf(optionManager.getOption(optionName).getValue());
 
-      return DirectPlan.createDirectPlan(context, new 
SetOptionViewResult(optionName, value));
+      return DirectPlan.createDirectPlan(context, new 
SetOptionViewResult(optionDefinition.getValidator().getOptionName(), value));
 
 Review comment:
   The naive reader (that would be me) would wonder why not use the 
`optionName` rather than using this indirect approach. Maybe a brief comment 
saying that we're doing it this way to use the name as defined in the option, 
rather than what the user provided.
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


> View set query fails with NPE for non-existing option
> -----------------------------------------------------
>
>                 Key: DRILL-7673
>                 URL: https://issues.apache.org/jira/browse/DRILL-7673
>             Project: Apache Drill
>          Issue Type: Bug
>    Affects Versions: 1.17.0
>            Reporter: Vova Vysotskyi
>            Assignee: Vova Vysotskyi
>            Priority: Minor
>             Fix For: 1.18.0
>
>
> The following query fails with NPE:
> {code:sql}
> set `non-existing option`
> {code}
> Stack trace:
> {noformat}
> Caused by: java.lang.NullPointerException: null
>       at 
> org.apache.drill.exec.planner.sql.handlers.SetOptionHandler.getPlan(SetOptionHandler.java:66)
>       at 
> org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan(DrillSqlWorker.java:283)
>       at 
> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPhysicalPlan(DrillSqlWorker.java:163)
>       at 
> org.apache.drill.exec.planner.sql.DrillSqlWorker.convertPlan(DrillSqlWorker.java:140)
>       at 
> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:93)
>       at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:592)
>       at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:277)
>       ... 3 common frames omitted
> {noformat}
> Also, the result of the command returns option name with the same case as it 
> was specified in the query:
> {noformat}
> set `metastore.ENABLED`;
> +-------------------+-------+
> |       name        | value |
> +-------------------+-------+
> | metastore.ENABLED | false |
> +-------------------+-------+
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to