Payload field in mh_jobs table too small

Steps to reproduce

We recently had to get a huge workflow (more than 45 operations) to run on an installation with MySQL as database backend. While trying to run the workflow, the following error occurred:

Query: UpdateObjectQuery(Job {id:78132, version:74})
at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:324)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:801)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeNoSelect(DatabaseAccessor.java:867)
... 32 more
Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'payload' at row 1
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3556)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3490)
... 51 more

So it seems like the payload field of the mh_job table is too small to hold the payload of a big workflow. We manually changed the field type from TEXT to MEDIUMTEXT which made it work again.

As far as I can see this problem only affects installations running on MySQL because the DDL scripts for Postgres define 'text' as field type for the payload field, which length is defined as unlimited.

Status

Assignee

Rubén Pérez

Reporter

Basil Brunner

Severity

Incorrectly Functioning With Workaround

Tags (folksonomy)

None

Components

Fix versions

Affects versions

1.4.3

Priority

Critical
Configure