You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@nutch.apache.org by "Nathan Gass (JIRA)" <ji...@apache.org> on 2012/11/05 14:48:13 UTC

[jira] [Updated] (NUTCH-1490) Data Truncation exceptions when using mysql

     [ https://issues.apache.org/jira/browse/NUTCH-1490?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Nathan Gass updated NUTCH-1490:
-------------------------------

    Attachment: patch

The actual length values I used are somewhat arbitrary. They need to be large enough for db.update.max.inlinks and db.max.outlinks.per.page.

I guessed that with utf8 this amounts to something like (max-url-length + db.max.anchor.length) * 3 + c per entry and just rounded this up to some MiB values (so I used 24MiB and 0.5MiB).

                
> Data Truncation exceptions when using mysql
> -------------------------------------------
>
>                 Key: NUTCH-1490
>                 URL: https://issues.apache.org/jira/browse/NUTCH-1490
>             Project: Nutch
>          Issue Type: Bug
>    Affects Versions: 2.1
>            Reporter: Nathan Gass
>         Attachments: patch
>
>
> Nutch does not ensure the set (or implicit) maximal length for the following columns:
> title
> urls (id, baseUrl, reprUrl,
> typ (contentType)
> inlinks
> outlinks
> Trying to store too much data in one of this columns results in an exception similar to this (copied from GORA-24, I will be able to add an newer stack trace later today):
> java.io.IOException: java.sql.BatchUpdateException: Data truncation: Data too long for column 'inlinks' at row 1 
> at org.apache.gora.sql.store.SqlStore.flush(SqlStore.java:340) 
> at org.apache.gora.sql.store.SqlStore.close(SqlStore.java:185) 
> at org.apache.gora.mapreduce.GoraRecordWriter.close(GoraRecordWriter.java:55) 
> at org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:567) 
> at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:408) 
> at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:216) 
> Caused by: java.sql.BatchUpdateException: Data truncation: Data too long for column 'inlinks' at row 1 
> at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:2018) 
> at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1449) 
> at org.apache.gora.sql.store.SqlStore.flush(SqlStore.java:328) 
> ... 5 more
> I'll add my current fixes in later comments.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira