C.3.29. Event application failed: seqno=20725782 fragno=0 message=java.sql.SQLDataException: Data too long for column 'eventid' at row 1

Last Updated: 2013-11-01

Condition or Error

Event application failed: seqno=20725782 fragno=0 message=java.sql.SQLDataException: Data too long for column 'eventid' at row 1

Causes

  • The issue is that the eventid column in tungsten.heartbeat is shorter than tungsten.eventid. You could do an alter on the Primary to extend that column and let that replicate out. The column sizes match in the next version.

Rectifications

  • The tables must be updated:

    mysql> ALTER TABLE `heartbeat` CHANGE `eventid` `eventid` VARCHAR( 128 ) \
     CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;

    This will update the tables from the following structure:

    mysql> SHOW CREATE TABLE tungsten.heartbeat;
    heartbeat | CREATE TABLE `heartbeat` (
     `id` bigint(20) NOT NULL DEFAULT '0',
     `seqno` bigint(20) DEFAULT NULL,
     `eventid` varchar(32) DEFAULT NULL,
     `source_tstamp` timestamp NULL DEFAULT NULL,
     `target_tstamp` timestamp NULL DEFAULT NULL,
     `lag_millis` bigint(20) DEFAULT NULL,
     `salt` bigint(20) DEFAULT NULL,
     `name` varchar(128) DEFAULT NULL,
     PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8
    
    mysql> SHOW CREATE TABLE tungsten.trep_commit_seqno;
    trep_commit_seqno | CREATE TABLE `trep_commit_seqno` (
     `seqno` bigint(20) DEFAULT NULL,
     `fragno` smallint(6) DEFAULT NULL,
     `last_frag` char(1) DEFAULT NULL,
     `source_id` varchar(128) DEFAULT NULL,
     `epoch_number` bigint(20) DEFAULT NULL,
     `eventid` varchar(128) DEFAULT NULL,
     `applied_latency` int(11) DEFAULT NULL,
     `update_timestamp` timestamp NULL DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8

    Afterwards the table will be formatted:

    heartbeat | CREATE TABLE `heartbeat` (
     `id` bigint(20) NOT NULL DEFAULT '0',
     `seqno` bigint(20) DEFAULT NULL,
     `eventid` varchar(128) DEFAULT NULL,
     `source_tstamp` timestamp NULL DEFAULT NULL,
     `target_tstamp` timestamp NULL DEFAULT NULL,
     `lag_millis` bigint(20) DEFAULT NULL,
     `salt` bigint(20) DEFAULT NULL,
     `name` varchar(128) DEFAULT NULL,
     PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8