[
https://issues.apache.org/jira/browse/DRILL-4508?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15193726#comment-15193726
]
Sudheesh Katkam commented on DRILL-4508:
----------------------------------------
The null check should be in DrillbitContext and not in AutoCloseables, right?
> Null proof all AutoCloseable.close() methods
> --------------------------------------------
>
> Key: DRILL-4508
> URL: https://issues.apache.org/jira/browse/DRILL-4508
> Project: Apache Drill
> Issue Type: Bug
> Components: Server
> Affects Versions: 1.5.0
> Reporter: Venki Korukanti
> Priority: Minor
> Fix For: 1.7.0
>
>
> If Drillbit fails to start (due to incorrect configuration or storage plugin
> information not found etc.), we end up calling close on various components
> such as WebServer, Drillbit etc. Some of these components may not have
> initialized and may have null values. Close() method is not checking for null
> values before reading them. One example is here:
> {code}
> java.lang.NullPointerException: null
> at
> org.apache.drill.exec.server.options.SystemOptionManager.close(SystemOptionManager.java:280)
> ~[drill-java-exec-1.6.0.jar:1.6.0]
> at
> org.apache.drill.exec.server.DrillbitContext.close(DrillbitContext.java:185)
> ~[drill-java-exec-1.6.0.jar:1.6.0]
> at org.apache.drill.exec.work.WorkManager.close(WorkManager.java:157)
> ~[drill-java-exec-1.6.0.jar:1.6.0]
> at
> org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:76)
> ~[drill-common-1.6.0.jar:1.6.0]
> at
> org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:64)
> ~[drill-common-1.6.0.jar:1.6.0]
> at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:149)
> [drill-java-exec-1.6.0.jar:1.6.0]
> at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:283)
> [drill-java-exec-1.6.0.jar:1.6.0]
> at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:261)
> [drill-java-exec-1.6.0.jar:1.6.0]
> at org.apache.drill.exec.server.Drillbit.main(Drillbit.java:257)
> [drill-java-exec-1.6.0.jar:1.6.0]
> {code}
> This masks the actual error (incorrect configuration) and it is hard to know
> what went wrong.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)