Error: Communications link failure with MySQL db

Overview

An error message may be appended to JBoss's log file while using Talend MDM( Master Data Management) with MySQL DB. This article describes this error and provides solutions to eliminate it.

Symptoms/Description

When using Talend MDM with MySQL DB, the below error may occur several times in jboss server log file jboss-4.2.2.GA\server\default\log\server.log

** BEGIN NESTED EXCEPTION ** 
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
MESSAGE: Communications link failure
Last packet sent to the server was 1 ms ago.
STACKTRACE:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
Last packet sent to the server was 1 ms ago.
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
	at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
	at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3134)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1818)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1961)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2543)
	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1737)

 

Resolution

To resolve the problem, please try to do the below steps:

  • Increase the wait_timeout in mysql db setting file my.ini(windows) or my.cnf (linux). e.g. On linux modify the value in /etc/my.cnf file as the below:

    Icon
    wait_timeout=2814400

    Then re-start mysql db

  • Try to add the below hibernate properties in 'MySQL-Default'  master & staging  in Talend MDM db setting file jboss-4.2.2.GA\bin\datasources.xml like: 

    <datasource name="MySQL-Default">
        <master>
            <type>RDBMS</type>
            <rdbms-configuration>
            ...
            <properties>
            <property name="connection.autoReconnect">true</property>
            <property name="connection.autoReconnectForPools">true</property>
           	<property name="connection.is-connection-validation-required">true</property>
            <property name="hibernate.c3p0.acquire_increment">1</property>
            <property name="hibernate.c3p0.idle_test_period">0</property>
            <property name="hibernate.c3p0.timeout">0</property>
            <property name="hibernate.c3p0.validate">true</property>
            </properties>
            ... 

 

Version History
Revision #:
2 of 2
Last update:
‎05-11-2017 08:58 PM
Updated by:
 
Labels (1)
Contributors