Порядок коммерции - pdoexception: sqlstate [40001]: ошибка сериализации: 1213 обнаружена тупиковая ситуация при попытке получить блокировку; попробуйте перезапустить транзакцию

Вот мое сообщение об ошибке

PDOException: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when 
trying to get lock; try restarting transaction: 
UPDATE {commerce_order} SET 
order_number=:db_update_placeholder_0, revision_id=:db_update_placeholder_1, 
type=:db_update_placeholder_2, uid=:db_update_placeholder_3, 
mail=:db_update_placeholder_4, status=:db_update_placeholder_5, 
created=:db_update_placeholder_6, changed=:db_update_placeholder_7, 
placed=:db_update_placeholder_8, hostname=:db_update_placeholder_9, 
data=:db_update_placeholder_10 WHERE (order_id = :db_condition_placeholder_0) ; 
Array ( [:db_update_placeholder_0] => 201805822 [:db_update_placeholder_1] => 16807 
[:db_update_placeholder_2] => commerce_order [:db_update_placeholder_3] => 0 
[:db_update_placeholder_4] => [:db_update_placeholder_5] => checkout_checkout 
[:db_update_placeholder_6] => 1540480400 [:db_update_placeholder_7] => 
1540481979 [:db_update_placeholder_8] => 0 [:db_update_placeholder_9] => 
128.199.161.50 [:db_update_placeholder_10] => a:4: 
{s:17:"last_cart_refresh";i:1540481976;s:16:"shipping_service";s:17:"shipping_custom|1";s:14:"with_backorder";s:0:"";s:17:"backorder_service";s:5:"_none";}
[:db_condition_placeholder_0] => 5056 ) in drupal_write_record() (line 7387 of ~/public_html/includes/common.inc).

кто-нибудь может мне помочь? что с этим не так?

Пожалуйста, подтвердите, что вы используете последнюю версию Drupal 7. Я вижу много этих проблем в установках Drupal без исправлений, прямо в ядре, и они были отмечены как решенные в последующих исправлениях ядра.

Bytech 26.10.2018 11:28
1
1
1 036
1

Ответы 1

Лучшее решение - изменить уровень изоляции транзакции (на READ COMMITTED).

Попробуйте добавить это на свой settings.php. Это обычная проблема на сайтах Drupal с большим количеством полей для чтения / записи.

$databases['default']['default']['init_commands'] = array(
  'isolation' => "SET SESSION tx_isolation='READ-COMMITTED'"
);

Другие вопросы по теме