Common Redwood Platform-Related Errors

on-site-related topic

The following topic lists common errors you may encounter when you use Redwood Platform.

Address already in use.

Symptoms

You are attempting to start Redwood Platform and startup fails. In the scheduler.log file you find the above error.

Platform

This can occur on Redwood Platform.

Specific Error Message

Copy
FATAL 2023-07-27 12:57:19,423 Europe/Paris [Redwood Background Startup] com.redwood.scheduler.lifecycle.impl.DefaultComponentLifecycleManager - Not all components started successfully; stopping what was started.
java.lang.RuntimeException: JCS-109002: Unable to bind service RedwoodMessaging to port 10071: Address already in use. See http://note.redwood.com/69758 for more information.
 at com.redwood.scheduler.cluster.messaging.rwm.RWMessageServer.<init>(RWMessageServer.java:46)
 at com.redwood.scheduler.cluster.messaging.rwm.RWMessaging.<init>(RWMessaging.java:54)
 at com.redwood.scheduler.cluster.naming.rwm.RWMessagingNamingProvider.getClusterMessaging(RWMessagingNamingProvider.java:142)
 at com.redwood.scheduler.cluster.ClusterComponent.getClusterMessaging(ClusterComponent.java:746)
 at com.redwood.scheduler.cluster.messaging.ClusterMessagingComponent.start(ClusterMessagingComponent.java:102)
 at com.redwood.scheduler.lifecycle.impl.StartComponentVisitor.visit(StartComponentVisitor.java:34)
 at com.redwood.scheduler.lifecycle.impl.DefaultComponentLifecycleManager.visitAllComponents(DefaultComponentLifecycleManager.java:106)
 at com.redwood.scheduler.lifecycle.impl.DefaultComponentLifecycleManager.startComponents(DefaultComponentLifecycleManager.java:207)
 at com.redwood.scheduler.lifecycle.impl.DefaultComponentLifecycleManager.startComponents(DefaultComponentLifecycleManager.java:166)
 at com.redwood.scheduler.lifecycle.impl.DefaultStartup.start(DefaultStartup.java:146)
 at com.redwood.scheduler.lifecycle.impl.DefaultStartup$1.run(DefaultStartup.java:128)
 at java.lang.Thread.run(Thread.java:619)
Caused by: JCS-109002: Unable to bind service RedwoodMessaging to port 10071: Address already in use. See http://note.redwood.com/69758 for more information.
 at com.redwood.scheduler.cluster.messaging.rwm.http.HttpServer.start(HttpServer.java:90)
 at com.redwood.scheduler.cluster.messaging.rwm.RWMessageServer.start(RWMessageServer.java:53)
 at com.redwood.scheduler.cluster.messaging.rwm.RWMessageServer.<init>(RWMessageServer.java:42)
 ... 11 more
Caused by: java.net.BindException: Address already in use
 at java.net.PlainSocketImpl.socketBind(Native Method)
 at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365)
 at java.net.ServerSocket.bind(ServerSocket.java:319)
 at java.net.ServerSocket.<init>(ServerSocket.java:185)
 at com.redwood.scheduler.cluster.messaging.rwm.http.HttpServer.start(HttpServer.java:77)
 ... 13 more

Resolution

There are two solutions.

If you do not require clustering support you can disable the default clustering implementation:

  1. Shutdown the server.
  2. Set the System Property com.redwood.scheduler.boot.cluster.type=Standalone.
  3. Start up the server.
  4. Create a new Registry Entry as the administrator - /configuration/boot/cluster/type with a value of Standalone.
  5. Shutdown the server.
  6. Remove the System Property com.redwood.scheduler.boot.cluster.type=Standalone.
  7. Start the server.

If you require clustering support:

  1. Shutdown the server.
  2. Set the System Property com.redwood.scheduler.boot.cluster.type=Standalone.
  3. Start up the server.
  4. Create a new Registry Entry as the administrator - /configuration/boot/cluster/<hostname>/<instance number>/<node number>/port with the value being the available port number.
  5. Where.
  6. hostname - is the name of the host - this will be the same as the host defined in your license.
  7. instance number - is the instance number of the node. This will be 0 for Redwood Platform, unless overwritten by the System property com.redwood.scheduler.cluster.rwm.InstanceId.
  8. node number - is the number of the cluster node on this server. By default this is mapped from the installation directory, correlating to the number at the end of the directory j2ee/cluster/server<N>.
  9. For example the default path will be /configuration/boot/cluster/tomcathost/0/1/port.
  10. Shutdown the server.
  11. Remove the System Property com.redwood.scheduler.boot.cluster.type=Standalone.
  12. Start the server - note the restart can take up to three minutes to start if the shutdown is not completed cleanly. This is due to the failover mechanisms in place.