답변:
Magento data-migration-tool을 사용하여 데이터를 가져온 후 일부 범주를 업데이트하려고 할 때 동일한 오류 (비대칭 트랜잭션 롤백)가 발생했습니다.
ssh를 통해 데이터베이스를 수동으로 다시 색인화하려면 Magento 설치에서 다음 명령을 실행하십시오.
php bin/magento indexer:reindex
그래도 도움이되지 않으면 다음 버그 보고서를 참조하십시오 . https://github.com/magento/magento2/issues/3720
문제가 해결되었으며 다음 단계는
다음 명령을 사용하여 재색 인
php bin/magento indexer:reindex
아래 명령을 실행
rm -rf var/cache/*
rm -rf var/page_cache/*
rm -rf var/generation/*
var/generation
폴더에 권한을 부여하십시오 .
또한이 오류는 외부 검색 엔진 (Solr 또는 Elasticsearch)을 구성하고 제품 / 카테고리 저장 중에 사용할 수없는 상황에서 발생합니다.
완전한 솔루션은 아니지만 경우에 따라 문제의 원인을 감지하는 데 도움이 될 수 있습니다. 이 클래스에서 around save 플러그인을 주석 처리 Magento\CatalogSearch\Model\Indexer\Fulltext\Plugin\Product
하면 예외 오류가 표시됩니다.
플랫 카탈로그를 사용하고 재 인덱싱이 작동하지 않으면 MySQL 행 제한 이 부족한 것일 수 있습니다 . 플랫 카탈로그를 끄거나 used in product listing
및 used for sorting in product listing
옵션 을 사용하는 속성 수를 줄여야합니다 .
또한 직면하고 비대칭 트랜잭션 롤백 오류 그래서 제품 및 카테고리를 저장할 수 없습니다 수 있었던, 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