Problem Note 40884: Communications link failure due to underlying exception: java.io.EOFException at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1907)
If you are performing an "I/O" intensive task, such as seeding data to a cycle from an existing model or posting a large number of adjustments/adjustment rules in SAS® Financial Management, you might encounter an error similar to:
java.lang.RuntimeException:
com.mysql.jdbc.CommunicationsException: Communications link failure due
to underlying exception:
** BEGIN NESTED EXCEPTION **
java.io.EOFException
STACKTRACE:
java.io.EOFException
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1907)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2351)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2797)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:806)
at com.mysql.jdbc.MysqlIO.nextRow(MysqlIO.java:1289)
written to the
SASManagedServer (SAS Financial Management release 4.x)/SASServer3 (release 5.x)
and/or to the SASODCSServer (release 4.x)/SASServer4 (release 5.x) log file.
This message indicates that the process is running out of sockets; that is - too many connections, too fast, between the client and the data-tier server (where MySQL resides).
To update these settings, please try the following:
- On the mid-tier server, select Start > Run and then input REGEDIT to access the Registry Editor.
- In the left navigation pane, under My Computer, expand HKEY_LOCAL_MACHINE, then expand SYSTEM.
- Expand CurrentControlSet, then expand Services.
- Expand Tcpip, then expand Parameters.
- If you see entries for 'MaxUserPort' and 'TcpTimedWaitDelay', click your right mouse button on each entry and select 'Modify'.
- For the MaxUserPort entry, input 65000 in the Value data field and ensure that Base is set to Decimal. Then select 'OK'.
- For the TcpTimedWaitDelay entry, input 30 in the Value data field and ensure that Base is set to Decimal. Then select 'OK'.
- Then select File > Exit to close out of the Registry Editor.
- If entries for MaxUserPort and/or TcpTimedWaitDelay do not already exist, you can add them, as follows:
- Ensure that you have navigated to the
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters key,
as described above.
- Click your right mouse button on the Parameters folder and select New > DWORD Value.
- Input MaxUserPort and select Enter.
- Click your right mouse button on the MaxUserPort entry and select Modify.
- For the MaxUserPort entry, input 65000 in the Value data field and ensure that Base is set to Decimal. Then select OK.
- Click your right mouse button on the Parameters folder and select New > DWORD Value.
- Input TcpTimedWaitDelay and select Enter.
- Click your right mouse button on the TcpTimedWaitDelay entry and select Modify.
- For the TcpTimedWaitDelay entry, input 30 in the Value data field and ensure that Base is set to Decimal. Then select OK.
- Then select File > Exit to close out of the Registry Editor.
If adding these settings to the registry on the mid-tier server does not resolve the MySQL connection error, try adding both of these entries in the exact same manner (same path, etc.) to the registry on the data-tier server and then try the process again.
Operating System and Release Information
| SAS System | SAS Financial Management | Microsoft Windows 2000 Advanced Server | 4.4 | | 9.1 TS1M3 SP4 | |
| Microsoft Windows 2000 Datacenter Server | 4.4 | | 9.1 TS1M3 SP4 | |
| Microsoft Windows 2000 Server | 4.4 | | 9.1 TS1M3 SP4 | |
| Microsoft Windows 2000 Professional | 4.4 | | 9.1 TS1M3 SP4 | |
| Microsoft Windows Server 2003 Datacenter Edition | 4.4 | | 9.1 TS1M3 SP4 | |
| Microsoft Windows Server 2003 Enterprise Edition | 4.4 | | 9.1 TS1M3 SP4 | |
| Microsoft Windows Server 2003 Standard Edition | 4.4 | | 9.1 TS1M3 SP4 | |
| Microsoft Windows XP Professional | 4.4 | | 9.1 TS1M3 SP4 | |
| 64-bit Enabled AIX | 4.4 | | 9.1 TS1M3 SP4 | |
| 64-bit Enabled Solaris | 4.4 | | 9.1 TS1M3 SP4 | |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.
Follow these instructions to update the available sockets and connection timeouts for the MySQL database.
| Type: | Problem Note |
| Priority: | high |
| Date Modified: | 2011-01-18 13:27:57 |
| Date Created: | 2010-09-13 23:20:44 |