wso2 / streaming-integrator

A stream processing runtime that allows connecting any streaming data source to any destination and act on it
Apache License 2.0
112 stars 50 forks source link

Add intuitive error message for the 'BindException: Address already in use' error in server startup #151

Open chanikag opened 3 years ago

chanikag commented 3 years ago

Description: I got following error as the msf4j-https port is already using in my machine.

ERROR {org.wso2.msf4j.internal.HttpConnectorPortBindingListener} - Error in http server connector java.net.BindException: Address already in use at sun.nio.ch.Net.bind0(Native Method) at sun.nio.ch.Net.bind(Net.java:433) at sun.nio.ch.Net.bind(Net.java:425) at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:130) at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:563) at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1332) at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:488) at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:473) at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:984) at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:259) at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:366) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:495) at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:905) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.lang.Thread.run(Thread.java:748)

It is better to add the port number in the log to troubleshoot the issue easily.

Suggested Labels:

Suggested Assignees:

Affected Product Version:

OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues:

lkokila commented 3 years ago

For references, this can be sorted out by changing the following ports in the deployment.yaml file.

  listenerConfigurations:
    -
      id: "default"
      host: "0.0.0.0"
      port: 7070
    -
      id: "msf4j-https"
      host: "0.0.0.0"
      port: 7443

But it would be helpful if this is addressed either through port offsetting or with a descriptive log.