Hi,
We can post some files. This bug shows up randomly. It seems to be file dependant and not space or user dependant.
mysql> describe node_properties;
+——————–+————–+——+—–+———+——-+
| Field | Type | Null | Key | Default | Extra |
+——————–+————–+——+—–+———+——-+
| node_id | bigint(20) | | PRI | 0 | |
| actual_type | varchar(15) | | | | |
| multi_valued | tinyint(1) | | | 0 | |
| persisted_type | varchar(15) | | | | |
| boolean_value | tinyint(1) | YES | | NULL | |
| long_value | bigint(20) | YES | | NULL | |
| float_value | float | YES | | NULL | |
| double_value | double | YES | | NULL | |
| string_value | text | YES | | NULL | |
| serializable_value | blob | YES | | NULL | |
| qname | varchar(200) | | PRI | | |
+——————–+————–+——+—–+———+——-+
11 rows in set (0.00 sec)
From a mysql dump (Engine=innodb ; charset=utf8) :
–
– Table structure for table `node_properties`
–
DROP TABLE IF EXISTS `node_properties`;
CREATE TABLE `node_properties` (
`node_id` bigint(20) NOT NULL default '0',
`actual_type` varchar(15) NOT NULL default '',
`multi_valued` tinyint(1) NOT NULL default '0',
`persisted_type` varchar(15) NOT NULL default '',
`boolean_value` tinyint(1) default NULL,
`long_value` bigint(20) default NULL,
`float_value` float default NULL,
`double_value` double default NULL,
`string_value` text,
`serializable_value` blob,
`qname` varchar(200) NOT NULL default '',
PRIMARY KEY (`node_id`,`qname`),
KEY `FKC962BF907F2C8017` (`node_id`),
CONSTRAINT `FKC962BF907F2C8017` FOREIGN KEY (`node_id`) REFERENCES `node` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
JDBC Driver is : mysql-connector-java-3.1.13-bin.jar
With show_sql=true :
Hibernate: insert into node (protocol, identifier, uuid, type_qname, acl_id) values (?, ?, ?, ?, ?)
Hibernate: insert into node_status (node_id, change_txn_id, protocol, identifier, guid) values (?, ?, ?, ?, ?)
Hibernate: insert into child_assoc (parent_node_id, child_node_id, type_qname, qname, is_primary, assoc_index) values (?, ?, ?, ?, ?, ?)
Hibernate: select properties0_.node_id as node1_0_, properties0_.actual_type as actual2_0_, properties0_.multi_valued as multi3_0_, properties0_.persisted_type as persisted4_0_,
properties0_.boolean_value as boolean5_0_, properties0_.long_value as long6_0_, properties0_.float_value as float7_0_, properties0_.double_value as double8_0_, properties0_.str
ing_value as string9_0_, properties0_.serializable_value as seriali10_0_, properties0_.qname as qname0_ from node_properties properties0_ where properties0_.node_id=?
Hibernate: update node_status set node_id=?, change_txn_id=? where protocol=? and identifier=? and guid=?
Hibernate: update node_properties set actual_type=?, multi_valued=?, persisted_type=?, boolean_value=?, long_value=?, float_value=?, double_value=?, string_value=?, serializable
_value=? where node_id=? and qname=?
Hibernate: insert into node_properties (node_id, qname, actual_type, multi_valued, persisted_type, boolean_value, long_value, float_value, double_value, string_value, serializab
le_value) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
Hibernate: insert into node_properties (node_id, qname, actual_type, multi_valued, persisted_type, boolean_value, long_value, float_value, double_value, string_value, serializab
le_value) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
Hibernate: insert into node_properties (node_id, qname, actual_type, multi_valued, persisted_type, boolean_value, long_value, float_value, double_value, string_value, serializab
le_value) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
Hibernate: insert into node_properties (node_id, qname, actual_type, multi_valued, persisted_type, boolean_value, long_value, float_value, double_value, string_value, serializab
le_value) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
Hibernate: insert into node_properties (node_id, qname, actual_type, multi_valued, persisted_type, boolean_value, long_value, float_value, double_value, string_value, serializab
le_value) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
Hibernate: insert into node_properties (node_id, qname, actual_type, multi_valued, persisted_type, boolean_value, long_value, float_value, double_value, string_value, serializab
le_value) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
Hibernate: insert into node_properties (node_id, qname, actual_type, multi_valued, persisted_type, boolean_value, long_value, float_value, double_value, string_value, serializab
le_value) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
Hibernate: insert into node_properties (node_id, qname, actual_type, multi_valued, persisted_type, boolean_value, long_value, float_value, double_value, string_value, serializab
le_value) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
Hibernate: insert into node_properties (node_id, qname, actual_type, multi_valued, persisted_type, boolean_value, long_value, float_value, double_value, string_value, serializab
le_value) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
12:29:49,190 ERROR [hibernate.util.JDBCExceptionReporter] Data truncation: Data truncated for column 'string_value' at row 1
12:29:49,191 ERROR [event.def.AbstractFlushingEventListener] Could not synchronize database state with session
org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update
…
and upgrading to connector/j 5 solved my problem … shame on me.
Thanks a lot for your help, and a great open source tool.
Regards,
thomas