JGRP000006: failed accepting connection from peer

Document created by frank_wetzler970218 Employee on Nov 8, 2017
Version 1Show Document
  • View in full screen mode

Issue

In the container logs for your Molecule or Cloud you see Warning messages like the following:

 

WARNING [org.jgroups.blocks.TCPConnectionMap$Acceptor run] JGRP000006: failed accepting connection from peer java.io.EOFException
at java.io.DataInputStream.readFully(Unknown Source)
at org.jgroups.blocks.TCPConnectionMap$TCPConnection.readPeerAddress(TCPConnectionMap.java:494)
at org.jgroups.blocks.TCPConnectionMap$TCPConnection.<init>(TCPConnectionMap.java:376)
at org.jgroups.blocks.TCPConnectionMap$Acceptor.handleAccept(TCPConnectionMap.java:298)
at org.jgroups.blocks.TCPConnectionMap$Acceptor.run(TCPConnectionMap.java:282)
at java.lang.Thread.run(Unknown Source)

 

Cause

This Warning can be caused by other devices on your network communicating with the Molecule or Cloud nodes using the same UNICAST port, the nodes are using for communication between themselves. The default TCP port used by the JGroups library to enable communication between the nodes of the Molecule and Clouds is 7800. Sometime other network devices will try to communicate to the Boomi software using port 7800 which can result in the WARNING message shown above and produce interference in the communication between the nodes. 

 

Solution

 

Find an identical unused TCP port on each node of the Molecule or Cloud and configure the Molecule or Cloud to use this port. Configure the Molecule or Cloud to use the new port and then monitor the container logs to ensure no other network device tries to communicate with the nodes using the new port. 

 

Find the new port:

To display all open ports, open a command prompt and type 'netstat' and press Enter.
To list all listening ports, use the command -> netstat -an | find /i "listening"
To see what ports your computer actually communicates with, use the command -> netstat -an | find /i "established"
To find specified open port, use find switch. For example, to find if the port 7801 is open or not, use the command ->  netstat -an | find /i "7801"
You can use PULIST from the Windows Resource Kit to find which process is using a specified port. For example, pulist | find /i "7801" may display the process using port 7801.

 

Once you find a open port (for example 7801) from the Atom Management UI, you change the configuration of two properties associated with the Molecule or Cloud.

These are:

1- Initial Hosts for Unicast 

2- TCP Port for Unicast

 

Configure them to use the new port as can be seen below.

 

 

Once these properties have been configured restart the Molecule or Cloud. Then begin to monitor the container logs associated with the Molecule or Cloud to see if the WARNING message 'JGRP000006: failed accepting connection from peer' is no longer being produced after the restart of the Molecule or Cloud. If it does continue to show up find another port as it is possible that some network device is also using the new port. 

Attachments

    Outcomes