myGrid

Column 'thing' too short in LogBook database schema

Details

  • Type: Bug Bug
  • Status: Resolved Resolved
  • Priority: Major 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)

Activity

Hide
Ian Dunlop added a comment - 2007-12-19 11:57

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).

Show
Ian Dunlop added a comment - 2007-12-19 11:57 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).
Hide
June Finch added a comment - 2007-12-20 10:47

Should be considered within 1.7.1 timescales.

Show
June Finch added a comment - 2007-12-20 10:47 Should be considered within 1.7.1 timescales.
Hide
Stuart Owen added a comment - 2008-01-07 11:33

I've had a reply that setting the size to MEDIUMTEXT fixed the problem. We need to update the plugin to set this as the default field size.

This doesn't need to released as part of 1.7.1 but can be released as an independant plugin update.

Show
Stuart Owen added a comment - 2008-01-07 11:33 I've had a reply that setting the size to MEDIUMTEXT fixed the problem. We need to update the plugin to set this as the default field size. This doesn't need to released as part of 1.7.1 but can be released as an independant plugin update.
Hide
Ian Dunlop added a comment - 2008-01-07 11:53

Changed it to MEDIUMTEXT, need to test it against some meaningful data - any ideas?

Show
Ian Dunlop added a comment - 2008-01-07 11:53 Changed it to MEDIUMTEXT, need to test it against some meaningful data - any ideas?
Hide
Ian Dunlop added a comment - 2008-02-15 15:36

I think it works OK now but needs some testing to say for sure

Show
Ian Dunlop added a comment - 2008-02-15 15:36 I think it works OK now but needs some testing to say for sure

People

Vote (0)
Watch (0)

Dates

  • Created:
    2007-12-19 11:34
    Updated:
    2008-02-15 15:36
    Resolved:
    2008-02-15 15:36