• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

Server issue Mysqli statement execute error : Row size too large

giorgino

Well-known member
#1
Received two of these, just minutes ago...

Code:
Zend_Db_Statement_Mysqli_Exception: Mysqli statement execute error : Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline. - library/Zend/Db/Statement/Mysqli.php:214
Generato Da: Account Sconosciuto, 26 minuti fa
Code:
#0 /home/immobili/public_html/library/Zend/Db/Statement.php(297): Zend_Db_Statement_Mysqli->_execute(Array)
#1 /home/immobili/public_html/library/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Statement->execute(Array)
#2 /home/immobili/public_html/library/Zend/Db/Adapter/Abstract.php(574): Zend_Db_Adapter_Abstract->query('INSERT INTO `xf...', Array)
#3 /home/immobili/public_html/library/XenForo/Model/EmailBounce.php(116): Zend_Db_Adapter_Abstract->insert('xf_email_bounce...', Array)
#4 /home/immobili/public_html/library/XenForo/Model/EmailBounce.php(47): XenForo_Model_EmailBounce->_logBounceMessage(NULL, '', Object(XenForo_BounceParser), 'Return-path: <i...')
#5 /home/immobili/public_html/library/XenForo/Deferred/EmailBounce.php(52): XenForo_Model_EmailBounce->processBounceEmail('Return-path: <i...')
#6 /home/immobili/public_html/library/XenForo/Model/Deferred.php(256): XenForo_Deferred_EmailBounce->execute(Array, Array, 8, '')
#7 /home/immobili/public_html/library/XenForo/Model/Deferred.php(390): XenForo_Model_Deferred->runDeferred(Array, 8, '', false)
#8 /home/immobili/public_html/library/XenForo/Model/Deferred.php(335): XenForo_Model_Deferred->_runInternal(Array, NULL, '', false)
#9 /home/immobili/public_html/deferred.php(23): XenForo_Model_Deferred->run(false)
#10 {main}
Code:
array(3) {
  ["url"] => string(36) "http://www.immobilio.it/deferred.php"
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(3) {
    ["_xfRequestUri"] => string(38) "/threads/ristrutturazione-bagno.28566/"
    ["_xfNoRedirect"] => string(1) "1"
    ["_xfResponseType"] => string(4) "json"
  }
}
 

Mike

XenForo developer
Staff member
#4
I'm certainly not clear on why this would happen. The schema doesn't look like it should trigger anything like this, but I'll need to look into it further.
 

Mike

XenForo developer
Staff member
#8
It will be primarily that issue then. 5.6.22 relaxes the limit a bit but you can workaround it by increasing innodb_log_file_size.
 

giorgino

Well-known member
#9
This is my my.cnf

Code:
[mysqld]

init_connect=‘SET collation_connection = utf8_unicode_ci’
skip-character-set-client-handshake
collation-server=utf8_general_ci
init-connect="SET NAMES utf8"
character-set-server=utf8

slow-query-log=1
long_query_time=1
slow_query_log_file="/var/lib/mysql/mysql-slow.log"
default-storage-engine=MyISAM
innodb_file_per_table=1
max_allowed_packet=268435456
open_files_limit=12602

# MyISAM #
key-buffer-size                = 32M
myisam-recover                 = FORCE,BACKUP

# SAFETY #
max-allowed-packet             = 16M
max-connect-errors             = 1000000

# CACHES AND LIMITS #
tmp-table-size                 = 32M
max-heap-table-size            = 32M
query_cache_limit = 16M
query_cache_size = 2048M
query_cache_type = 1
max-connections                = 300
thread-cache-size              = 50
open-files-limit               = 65535
table-definition-cache         = 4096
table-open-cache               = 10240

# INNODB #
innodb-flush-method            = O_DIRECT
#innodb-log-files-in-group      = 2
#innodb-log-file-size           = 256M
#innodb-flush-log-at-trx-commit = 1
innodb-file-per-table          = 1
innodb-buffer-pool-size        = 12G

# LOGGING #
log-error                      = "/var/lib/mysql/mysql-error.log"
log-queries-not-using-indexes  = 1
 

Mike

XenForo developer
Staff member
#11
Well you have a commented out log file size setting there. You can look at changing it but beware the steps you have to take: http://www.percona.com/blog/2011/07/09/how-to-change-innodb_log_file_size-safely/

The default should be 50M which would work out to 5M max size. It's certainly possible the email is this big and we haven't generally handled that; I'm not sure why a huge email would end up there unless it was specifically sent. The message should still be deleted though (as it's deleted before processing).

Can you confirm the log file size?
Code:
show variables like 'innodb_log_file_size';
 

giorgino

Well-known member
#12
Thank you Mike for support, but I don't understand what you mean about this line of code

Code:
show variables like 'innodb_log_file_size';
Where I have to insert this?
 

Mike

XenForo developer
Staff member
#13
It's a query to run in MySQL. (Given this, I probably wouldn't recommend directly changing the log file size, given the steps that need to be taken to change it.)