为什么在创建新产品“非对称事务回滚”时出错?


11

创建新产品并尝试保存它时,出现以下错误消息:

非对称事务回滚错误

有人遇到过这种情况么?请分享修复程序:)


Magento2非对称事务回滚错误

Answers:


17

当我使用Magento数据迁移工具导入数据后尝试更新某些类别时,出现了同样的错误(非对称事务回滚)。

手动重新索引为我解决了这个问题,要通过ssh手动重新索引数据库,只需在Magento安装中运行以下命令:

php bin/magento indexer:reindex

如果这样做没有帮助,您可能需要查看以下错误报告:https : //github.com/magento/magento2/issues/3720


6

问题已解决,以下是步骤

  1. 通过使用以下命令重新索引

    php bin/magento indexer:reindex
  2. 运行以下命令

    rm -rf var/cache/*
    rm -rf var/page_cache/*
    rm -rf var/generation/*
  3. 授予var/generation文件夹权限。


我收到了一个可怕的错误。我已经应用了此命令,但实际问题是在所有产品将其删除后都会出现此错误,因此如果您有主意答复我,此错误并非每次都会出现。
辛格

4

另外,在配置了外部搜索引擎(Solr或Elasticsearch)的情况下,也会发生此错误,并且在产品/类别保存期间不可用。


这就是我的最终结果,感谢您的帮助!
Joshua Soileau

如果使用此类外部搜索引擎,解决方案是什么?
SIBHI S

3

它不是一个完整的解决方案,但在某些情况下可以帮助您检测问题的根源。注释掉此类中的around save插件Magento\CatalogSearch\Model\Indexer\Fulltext\Plugin\Product,您将看到异常错误


1

如果您使用的是平面目录,而重新编制索引不起作用,那么也许您就用完了MySQL行限制。您应该关闭平面目录或减少使用used in product listingused for sorting in product listing选项的属性数量。


1

对于这个问题,我有另一种解决方案,这很容易。

只是您可以更改与产品相关的索引器的重新索引模式-> 按计划更新。 在此处输入图片说明


产品类别和产品类别索引之间有什么区别?
LucScu

0

我还面临MySql InnoDB群集的非对称事务回滚错误问题,因此我无法保存产品和类别,并且在我打印错误消息时

`SQLSTATE[HY000]: General error: 1787 Statement violates GTID consistency: CREATE TEMPORARY TABLE and DROP TEMPORARY TABLE can only be executed outside transactional context. These statements are also not allowed in a function or trigger because functions and triggers are also considered to be multi-statement transactions., query was: CREATE TEMPORARY TABLE IF NOT EXISTS `catalog_product_index_eav_temp` LIKE `catalog_product_index_eav_tmp

经过长时间的搜索,此提交解决了我的问题。 https://github.com/magento/magento2/commit/4b51ee19353fb39263991f38663ad2fabcb1ce84#diff-08d583954f382bd67bd8f89c7c2345c6

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.