Database and Network Errors

Last updated: January 31, 2026

Below are some of the more common database or network errors a user may encounter, along with guidance on how to troubleshoot them.


Lock wait timeout exceeded; try restarting transaction

This indicates a database table lock - another process locked the table for a long enough time that it caused the job’s process to time out.  It could be another campaign running at the same time using an audience that looks at the same tables/datasets, database maintenance locking rows that the audience query is looking at, or something else in the environment.  Usually these happen intermittently, and the campaign can be relaunched.


Caused by: java.sql.SQLException: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

These errors indicate that the database is not accessible from the Accelerator server.  Typically this means there’s a network issue such as a firewall block, a lock in the database, the database server is down, or it’s a temporary connectivity problem in the environment.

It could also indicate that a query is taking longer to complete than the allowable timeout.  If this is affecting the Accelerator MySQL database, the timeout settings (in milliseconds) are in the JDBC string of the /opt/messagegears/conf/database.properties file on the Accelerator server.  If it’s a different database, the timeout settings would be controlled by that database’s timeout settings.

If this is a new database connection, try making the connection directly from the server itself on the command line.  If it fails, that confirms that the issue is not with Accelerator.  If it’s successful, try updating or recreating the database connection in Accelerator.  Depending on your database server type, there may be additional JDBC parameters you can add in the database connection setup screen.


Caused by: javax.crypto.IllegalBlockSizeException: Input length must be multiple of 8 when decrypting with padded cipher

This means that the password in the database.properties file on the server is unencrypted, but the parameter encrypted=true is set.  Delete the encrypted=true line in database.properties, and restart Accelerator/Tomcat.  The file is located in /opt/messagegears/conf.


Caused by: org.hibernate.exception.GenericJDBCException: Unable to acquire JDBC Connection

Caused by: java.sql.SQLException: An attempt by a client to checkout a Connection has timed out.

Caused by: com.mchange.v2.resourcepool.TimeoutException: A client timed out while waiting to acquire a resource from com.mchange.v2.resourcepool.BasicResourcePool@406836f3 -- timeout at awaitAvailable()

If you see any of these 3 Caused by messages, it means that Accelerator is unable to get a JDBC connection to the database.  This will typically not be referring to the Accelerator MySQL DB, but another JDBC connection you have set up in your ‘Accelerator -> Admin -> Database Connections’ section. Check that the DB is online and accepting connections, and follow the troubleshooting steps mentioned for other DB connection errors (test from the command line if possible, check credentials, check network connectivity).


WARN [localhost-startStop-1] o.f.c.i.d.JdbcTemplate [MDC:   ] DB: Integer display width is deprecated and will be removed in a future release. (SQL State: HY000 - Error Code: 1681)

WARN [localhost-startStop-1] o.f.c.i.d.JdbcTemplate [MDC:   ] DB: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous. (SQL State: HY000 - Error Code: 3719)

These errors indicate that MySQL 8.0 is being used, which is not supported prior to Accelerator 23.3.2.  Accelerator versions prior to 23.3.2 require MySQL 5.7.


optimistic locking failed; nested exception is org.hibernate.StaleObjectStateException:Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) : [com.messagegears.accelerator.bo.MarketingCampaign#21166]

This error can happen if a count is run on a campaign while that campaign is already extracting recipients for a job launch.  To avoid the error, wait until the campaign's job has started delivering to recipients before running another count.