Details
-
Type:
Bug
-
Status:
Resolved
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 1.7.1
-
Component/s: Provenance
-
Labels:None
Description
Reported by one of our users:
I am running a workflow with a text file like input and splitting it
into several lines to finally get a "list of lists" (I'm using local
processors and regex to do it).Results window show everything well, but logbook say in results tab
window : "Problem Retrieving Data from Store - No Data Matching the
Given LSID Value"Looking at java console appears:
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for
column 'thing' at row 1
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2868)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573)
at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1169)
at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:693)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1404)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1318)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1303)
at uk.org.mygrid.provenance.dataservice.AbstractJDBCDataService.storeDataThing(AbstractJDBCDataService.java:345)
at uk.ac.man.cs.img.mygrid.provenance.knowledge.taverna.ProvenanceGenerator.store(ProvenanceGenerator.java:1419)
at uk.ac.man.cs.img.mygrid.provenance.knowledge.taverna.ProvenanceGenerator.processCompletedWithIteration(ProvenanceGenerator.java:518)
at org.embl.ebi.escience.scufl.enactor.implementation.WorkflowEventDispatcher.sendAnEvent(WorkflowEventDispatcher.java:203)
at org.embl.ebi.escience.scufl.enactor.implementation.WorkflowEventDispatcher.fireEvents(WorkflowEventDispatcher.java:184)
at org.embl.ebi.escience.scufl.enactor.implementation.WorkflowEventDispatcher$NotifyThread.run(WorkflowEventDispatcher.java:250)
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for
column 'thing' at row 1
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2868)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573)
at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1169)
at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:693)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1404)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1318)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1303)
at uk.org.mygrid.provenance.dataservice.AbstractJDBCDataService.storeDataThing(AbstractJDBCDataService.java:345)
at uk.ac.man.cs.img.mygrid.provenance.knowledge.taverna.ProvenanceGenerator.store(ProvenanceGenerator.java:1419)
at uk.ac.man.cs.img.mygrid.provenance.knowledge.taverna.ProvenanceGenerator.workflowCompleted(ProvenanceGenerator.java:426)
at org.embl.ebi.escience.scufl.enactor.implementation.WorkflowEventDispatcher.sendAnEvent(WorkflowEventDispatcher.java:199)
at org.embl.ebi.escience.scufl.enactor.implementation.WorkflowEventDispatcher.fireEvents(WorkflowEventDispatcher.java:184)
at org.embl.ebi.escience.scufl.enactor.implementation.WorkflowEventDispatcher$NotifyThread.run(WorkflowEventDispatcher.java:250)
Looks like the table is using TEXT field(max size 65k in mySQL). Code is in rdf-provenance module, uk.org.mygrid.provenance.dataservice.MySQLDataService createTables method:
"CREATE TABLE IF NOT EXISTS datathings (id INT UNSIGNED NOT NULL AUTO_INCREMENT,"
+ " thing TEXT NOT NULL,"
+ " PRIMARY KEY(id)) TYPE = InnoDB;"
Could set the field size to MEDIUMTEXT or LONGTEXT (although there could be performance issues which arise).