diff --git a/core/modules/system/system.install b/core/modules/system/system.install index 6161819..d70159c 100644 --- a/core/modules/system/system.install +++ b/core/modules/system/system.install @@ -177,6 +177,25 @@ function system_requirements($phase) { ); } + // Check InnoDB configuration. + if ($phase == 'runtime' && db_driver() == 'mysql') { + + $variable = db_query("SHOW VARIABLES LIKE 'innodb_flush_log_at_trx_commit'") + ->fetchAssoc(); + + if ($variable == array( + 'Variable_name' => 'innodb_flush_log_at_trx_commit', + 'Value' => '1', + )) { + $requirements['innodb_flush_log_at_trx_commit'] = array( + 'title' => t('InnoDB configuration'), + 'value' => t('Unsupported'), + 'description' => t('InnoDB variable innodb_flush_log_at_trx_commit is set to 1. This will significantly reduce performance as a disk flush is performed after every database write.'), + 'severity' => REQUIREMENT_WARNING, + ); + } + } + // Test PHP memory_limit $memory_limit = ini_get('memory_limit'); $requirements['php_memory_limit'] = array(