Archive Job Error: "Data too long for column 'jobfname' at row 1"

  • 7019207
  • 20-Mar-2015
  • 07-Aug-2017

Environment


Retain 3.x

Situation


My job is running very slowly and I'm getting error notifications in my email that read in part:

2015-03-20 10:22:34,133 [http-bio-48080-exec-14] ERROR org.hibernate.util.JDBCExceptionReporter - Data truncation: Data too long for column 'jobfname' at row 1
2015-03-20 10:22:34,134 [http-bio-48080-exec-14] ERROR com.gwava.cfg.dao.hibernate.HibernateTransactionManager - Commit Transaction
org.hibernate.exception.DataException: Could not execute JDBC batch update

That error is showing up in the RetainServer log.

Resolution


The support engineer enabled MySQL general query logging to see what table was being written to.  That's how they discovered the root cause of the issue.

This is a bug in Retain (bug 7530).  The table that holds the job object information allows a job name length of 99 characters (s_jobscache.JobName); however, another table gets used while the job is running called t_jobmailboxes.  It has a field named "jobfname" that stores the job name.  Its character limit is 45.  It should be 99.

The workaround solution is to rename your job so that the name is only 45 characters long or shorter.

Additional Information

This article was originally published in the GWAVA knowledgebase as article ID 2501.