Innodb dealing with blobs in 4.1: Error 139 from storage engine
Hi, with mysql 4.1[234], importing a dump of Innodb tables containing at least a blob field I invariably get_ ERROR 1030 (HY000) at line 21027: Got error 139 from storage engine I read in the bugzilla that this problem is due to low memory conditions, but surely it's not my case: the server has 2 GB ram, and it doesn't have anything else running than mysql. I also tried to raise set-variable = innodb_buffer_pool_size=120M set-variable = innodb_additional_mem_pool_size=120M but with no improvent. The content of the err file is: 050920 11:46:31 mysqld started 050920 11:46:31 InnoDB: Started; log sequence number 0 18025704 /usr/sbin/mysqld-max: ready for connections. Version: '4.1.14-Max' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Edition - Max (GPL) Is there a way to fix this behaviour or should I revert to 4.0? Thanks, -- Nico Sabbi - Officine Digitali - Bologna Tel. 051 - 4187565 -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
Re: Innodb dealing with blobs in 4.1: Error 139 from storage engine
Nico Sabbi wrote: Hi, with mysql 4.1[234], importing a dump of Innodb tables containing at least a blob field I invariably get_ ERROR 1030 (HY000) at line 21027: Got error 139 from storage engine I read in the bugzilla that this problem is due to low memory conditions, but surely it's not my case: the server has 2 GB ram, and it doesn't have anything else running than mysql. I also tried to raise set-variable = innodb_buffer_pool_size=120M set-variable = innodb_additional_mem_pool_size=120M but with no improvent. The content of the err file is: 050920 11:46:31 mysqld started 050920 11:46:31 InnoDB: Started; log sequence number 0 18025704 /usr/sbin/mysqld-max: ready for connections. Version: '4.1.14-Max' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Edition - Max (GPL) Is there a way to fix this behaviour or should I revert to 4.0? Thanks, If it can help, seems that the largest value I can store in a blob field without triggering that error is 192 characters long. -- Nico Sabbi - Officine Digitali - Bologna Tel. 051 - 4187565 -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
Re: Innodb dealing with blobs in 4.1: Error 139 from storage engine
sorry for this monologue-thread, but... Nico Sabbi wrote: [snip] If it can help, seems that the largest value I can store in a blob field without triggering that error is 192 characters long. I just read the restrictions on Innodb tables, and I'm not convinced that what is going on is expected. Quoting from here http://dev.mysql.com/doc/mysql/en/innodb-restrictions.html # The maximum row length, except for |VARCHAR|, |BLOB| and |TEXT| columns, is slightly less than half of a database page. That is, the maximum row length is about 8000 bytes. |LONGBLOB| and |LONGTEXT| columns must be less than 4GB, and the total row length, including also |BLOB| and |TEXT| columns, must be less than 4GB. |InnoDB| stores the first 768 bytes of a |VARCHAR|, |BLOB|, or |TEXT| column in the row, and the rest into separate pages. # that clearly states that varchar(255) fields should be excluded from the restrictions, shouldn't they? Yet, my tables is made of 104 varchar(255) fields (I know it's bad, but unfortunately it's a structure I can't change), a dozen blobs and 8 other fields (date and int), so it seems that Innodb _is_ including varchar() fields in the restriction. If needed I can provide the whole table structure. BTW, why introducing a restriction that wasn't present in 4.0 ? Thanks, Nico -- Nico Sabbi - Officine Digitali - Bologna Tel. 051 - 4187565 -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]