जवाबों:
जब मैं Magento डेटा-माइग्रेशन-टूल का उपयोग करके डेटा आयात करने के बाद कुछ श्रेणियों को अपडेट करने की कोशिश कर रहा था, तो मुझे बस एक ही त्रुटि (असममित लेनदेन रोलबैक) मिल रही थी।
एक मैनुअल रीइन्डेक्स ने मेरे लिए समस्या को ठीक कर दिया है, अपने डेटाबेस को 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
फ़ोल्डर को अनुमति दें ।
साथ ही, यह त्रुटि उस स्थिति में होती है जब आपने बाहरी खोज इंजन (सोलर या एलीस्टेसर्च) को कॉन्फ़िगर किया है और यह उत्पाद की श्रेणी में बचत के दौरान अनुपलब्ध है।
यह एक पूर्ण समाधान नहीं है लेकिन यह आपको कुछ मामलों में समस्या के स्रोत का पता लगाने में मदद कर सकता है। इस वर्ग में चारों ओर सेव प्लगइन पर टिप्पणी करें Magento\CatalogSearch\Model\Indexer\Fulltext\Plugin\Product
और आपको अपवाद त्रुटि दिखाई देगी
यदि आप फ्लैट कैटलॉग का उपयोग कर रहे हैं और reindexing काम नहीं कर रहा है, तो हो सकता है कि आप अभी 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