Uploaded image for project: 'Apache Drill'
  1. Apache Drill
  2. DRILL-7056

Drill fails with NPE when starting in distributed mode and 31010 port is used

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.15.0
    • 1.16.0
    • None

    Description

      Steps to reproduce:
      1. Run process which uses 31010 port, for example, execute the following code:

          try (Socket localhost = new Socket("localhost", 31010)) {
            Thread.sleep(500_000);
          }
      

      2. Start Drill in distributed mode.

      As the result, Drill is not started and the following stack trace with NPE in drillbit.log:

      [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).
      

      Looks like it was caused by the fix for DRILL-5735, since NPE is thrown in the code introduced by that fix.

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            kkhatua Kunal Khatua
            volodymyr Vova Vysotskyi
            Vova Vysotskyi Vova Vysotskyi
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment