You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Volodymyr Vysotskyi (JIRA)" <ji...@apache.org> on 2019/03/06 22:37:00 UTC

[jira] [Updated] (DRILL-7056) Drill fails with NPE when starting in distributed mode and 31010 port is used

     [ https://issues.apache.org/jira/browse/DRILL-7056?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Volodymyr Vysotskyi updated DRILL-7056:
---------------------------------------
    Labels: ready-to-commit  (was: )

> Drill fails with NPE when starting in distributed mode and 31010 port is used
> -----------------------------------------------------------------------------
>
>                 Key: DRILL-7056
>                 URL: https://issues.apache.org/jira/browse/DRILL-7056
>             Project: Apache Drill
>          Issue Type: Bug
>    Affects Versions: 1.15.0
>            Reporter: Volodymyr Vysotskyi
>            Assignee: Kunal Khatua
>            Priority: Major
>              Labels: ready-to-commit
>             Fix For: 1.16.0
>
>
> Steps to reproduce:
> 1. Run process which uses 31010 port, for example, execute the following code:
> {code:java}
>     try (Socket localhost = new Socket("localhost", 31010)) {
>       Thread.sleep(500_000);
>     }
> {code}
> 2. Start Drill in distributed mode.
> As the result, Drill is not started and the following stack trace with NPE in {{drillbit.log}}:
> {noformat}
> [Error Id: 2600a33d-c06d-4361-a39b-8f4b3d05b639 ]
>         at org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:633) ~[drill-common-1.16.0-SNAPSHOT.jar:1.16.0-SNAPSHOT]
>         at org.apache.drill.exec.rpc.BasicServer.bind(BasicServer.java:211) ~[drill-rpc-1.16.0-SNAPSHOT.jar:1.16.0-SNAPSHOT]
>         at org.apache.drill.exec.service.ServiceEngine.start(ServiceEngine.java:100) ~[drill-java-exec-1.16.0-SNAPSHOT.jar:1.16.0-SNAPSHOT]
>         at org.apache.drill.exec.server.Drillbit.run(Drillbit.java:207) [drill-java-exec-1.16.0-SNAPSHOT.jar:1.16.0-SNAPSHOT]
>         at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:527) [drill-java-exec-1.16.0-SNAPSHOT.jar:1.16.0-SNAPSHOT]
>         at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:497) [drill-java-exec-1.16.0-SNAPSHOT.jar:1.16.0-SNAPSHOT]
>         at org.apache.drill.exec.server.Drillbit.main(Drillbit.java:493) [drill-java-exec-1.16.0-SNAPSHOT.jar:1.16.0-SNAPSHOT]
> java.net.BindException: Address already in use
>         at sun.nio.ch.Net.bind0(Native Method) ~[na:1.8.0_191]
>         at sun.nio.ch.Net.bind(Net.java:433) ~[na:1.8.0_191]
>         at sun.nio.ch.Net.bind(Net.java:425) ~[na:1.8.0_191]
>         at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) ~[na:1.8.0_191]
>         at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:128) ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>         at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:500) ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>         at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1218) ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>         at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:495) ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>         at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:480) ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>         at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:965) ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>         at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:209) ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>         at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:355) ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>         at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:399) ~[netty-common-4.0.48.Final.jar:4.0.48.Final]
>         at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:463) ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>         at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131) ~[netty-common-4.0.48.Final.jar:4.0.48.Final]
>         at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_191]
> 2019-02-25 17:58:03,888 [main] WARN  o.apache.drill.exec.server.Drillbit - Failure on close()
> java.lang.NullPointerException: null
>         at org.apache.drill.exec.server.rest.WebServer.generateOptionsDescriptionJSFile(WebServer.java:480) ~[drill-java-exec-1.16.0-SNAPSHOT.jar:1.16.0-SNAPSHOT]
>         at org.apache.drill.exec.server.rest.WebServer.getTmpJavaScriptDir(WebServer.java:138) ~[drill-java-exec-1.16.0-SNAPSHOT.jar:1.16.0-SNAPSHOT]
>         at org.apache.drill.exec.server.rest.WebServer.close(WebServer.java:471) ~[drill-java-exec-1.16.0-SNAPSHOT.jar:1.16.0-SNAPSHOT]
>         at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:87) ~[drill-common-1.16.0-SNAPSHOT.jar:1.16.0-SNAPSHOT]
>         at org.apache.drill.common.AutoCloseables.close(AutoCloseables.java:75) ~[drill-common-1.16.0-SNAPSHOT.jar:1.16.0-SNAPSHOT]
>         at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:300) [drill-java-exec-1.16.0-SNAPSHOT.jar:1.16.0-SNAPSHOT]
>         at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:530) [drill-java-exec-1.16.0-SNAPSHOT.jar:1.16.0-SNAPSHOT]
>         at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:497) [drill-java-exec-1.16.0-SNAPSHOT.jar:1.16.0-SNAPSHOT]
>         at org.apache.drill.exec.server.Drillbit.main(Drillbit.java:493) [drill-java-exec-1.16.0-SNAPSHOT.jar:1.16.0-SNAPSHOT]
> 2019-02-25 17:58:03,888 [main] INFO  o.apache.drill.exec.server.Drillbit - Shutdown completed (1064 ms).
> {noformat}
> Looks like it was caused by the fix for DRILL-5735, since NPE is thrown in the code introduced by that fix.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)