Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Invalid
-
None
-
None
-
None
Description
The drillbit.sh script which on stop does a kill -0 on the drillbit PID fails to stop the process. The processes need to be manually killed with a kill -9 and then restarted.
The following messages are seen:
no drillbit to stop because kill -0 of pid <PID> failed with status 1
Drillbit.out indicates an error with permission of the drillbit.pid file and also gives conflicting errors indicating the drillbit process is already shutdown but the address is still in use:
<snippet of drillbit.out file after the command "drillbit.sh restart" followed by a second "drillbit.sh stop" after a delay of few minutes>
/opt/mapr/drill/drill-0.6.0/bin/drillbit.sh: line 188: /opt/mapr/drill/drill-0.6.0/drillbit.pid: Permission denied
Exception in thread "main" org.apache.drill.exec.exception.DrillbitStartupException: Failure during initial startup of Drillbit.
at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:73)
at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:57)
at org.apache.drill.exec.server.Drillbit.main(Drillbit.java:80)
Caused by: org.apache.drill.exec.exception.DrillbitStartupException: Could not bind Drillbit
at org.apache.drill.exec.rpc.BasicServer.bind(BasicServer.java:158)
at org.apache.drill.exec.service.ServiceEngine.start(ServiceEngine.java:61)
at org.apache.drill.exec.server.Drillbit.run(Drillbit.java:145)
at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:70)
... 2 more
Caused by: java.net.BindException: Address already in use
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:444)
at sun.nio.ch.Net.bind(Net.java:436)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:214)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:125)
at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:478)
at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1021)
at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:455)
at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:440)
at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:844)
at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:197)
at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:350)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:380)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Thread.java:745)
Exception in thread "ShutdownHook" java.lang.IllegalStateException: Already closed or has not been started
at com.google.common.base.Preconditions.checkState(Preconditions.java:149)
at org.apache.curator.x.discovery.details.ServiceCacheImpl.close(ServiceCacheImpl.java:91)
at org.apache.drill.exec.coord.zk.ZKClusterCoordinator.close(ZKClusterCoordinator.java:159)
at com.google.common.io.Closeables.close(Closeables.java:77)
at com.google.common.io.Closeables.closeQuietly(Closeables.java:108)
at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:172)
at org.apache.drill.exec.server.Drillbit$ShutdownThread.run(Drillbit.java:186)