我们正在使用magento企业版。有时产品缺失,并且在重新索引期间它们会回来。你能告诉我们什么可能导致消失的产品吗?
这种情况每周发生两次左右。
同样,当我们重新编制索引时,我们会收到以下错误,我们需要重新编制索引。请告诉我们如何修复重建索引错误?
目录产品价格指数流程未知错误:
exception 'PDOException' with message 'SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction' in /var/www/mysite/public_html/lib/Zend/Db/Statement/Pdo.php:228
Stack trace:
#0 /var/www/mysite/public_html/lib/Zend/Db/Statement/Pdo.php(228): PDOStatement->execute(Array)
#1 /var/www/mysite/public_html/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
#2 /var/www/mysite/public_html/app/code/core/Zend/Db/Statement.php(291): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
#3 /var/www/mysite/public_html/lib/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Statement->execute(Array)
#4 /var/www/mysite/public_html/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('UPDATE `catalog...', Array)
#5 /var/www/mysite/public_html/lib/Varien/Db/Adapter/Pdo/Mysql.php(428): Zend_Db_Adapter_Pdo_Abstract->query('UPDATE `catalog...', Array)
#6 /var/www/mysite/public_html/app/code/core/Mage/CatalogRule/Model/Resource/Rule/Product/Price.php(88): Varien_Db_Adapter_Pdo_Mysql->query('UPDATE `catalog...')
#7 /var/www/mysite/public_html/app/code/core/Mage/CatalogRule/Model/Rule/Product/Price.php(80): Mage_CatalogRule_Model_Resource_Rule_Product_Price->applyPriceRuleT oIndexTable(Object(Varien_Db_Select), Array, 'i.entity_id', 'i.customer_grou...', 'i.website_id', Array, 'wd.website_date')
#8 /var/www/mysite/public_html/app/code/core/Mage/CatalogRule/Model/Observer.php(254): Mage_CatalogRule_Model_Rule_Product_Price->applyPriceRuleToIndexTable(Object(Varien_Db_Select), Array, 'i.entity_id', 'i.customer_grou...', 'i.website_id', Array, 'wd.website_date')
#9 /var/www/mysite/public_html/app/code/core/Mage/Core/Model/App.php(1338): Mage_CatalogRule_Model_Observer->prepareCatalogProductPriceIndexTable(Object(Varien_Event_Observer))
#10 /var/www/mysite/public_html/app/code/core/Mage/Core/Model/App.php(1317): Mage_Core_Model_App->_callObserverMethod(Object(Mage_CatalogRule_Model_Observer), 'prepareCatalogP...', Object(Varien_Event_Observer))
#11 /var/www/mysite/public_html/app/Mage.php(448): Mage_Core_Model_App->dispatchEvent('prepare_catalog...', Array)
#12 /var/www/mysite/public_html/app/code/core/Mage/Catalog/Model/Resource/Product/Indexer/Price/Default.php(304): Mage::dispatchEvent('prepare_catalog...', Array)
#13 /var/www/mysite/public_html/app/code/core/Mage/Catalog/Model/Resource/Product/Indexer/Price/Default.php(120): Mage_Catalog_Model_Resource_Product_Indexer_Price_Default->_prepareFinalPriceData()
#14 /var/www/mysite/public_html/app/code/core/Enterprise/Catalog/Model/Index/Action/Product/Price/Refresh.php(75): Mage_Catalog_Model_Resource_Product_Indexer_Price_Default->reindexAll()
#15 /var/www/mysite/public_html/app/code/core/Enterprise/Catalog/Model/Index/Action/Product/Price/Refresh.php(49): Enterprise_Catalog_Model_Index_Action_Product_Price_Refresh->_reindexAll()
#16 /var/www/mysite/public_html/app/code/core/Enterprise/Mview/Model/Client.php(109): Enterprise_Catalog_Model_Index_Action_Product_Price_Refresh->execute()
#17 /var/www/mysite/public_html/app/code/core/Enterprise/Catalog/Model/Index/Observer/Price.php(129): Enterprise_Mview_Model_Client->execute('enterprise_cata...')
#18 /var/www/mysite/public_html/app/code/core/Mage/Core/Model/App.php(1338): Enterprise_Catalog_Model_Index_Observer_Price->processShellProductReindexEvent(Object(Varien_Event_Observer))
#19 /var/www/mysite/public_html/app/code/core/Mage/Core/Model/App.php(1317): Mage_Core_Model_App->_callObserverMethod(Object(Enterprise_Catalog_Model_Index_Observer_Price), 'processShellPro...', Object(Varien_Event_Observer))
#20 /var/www/mysite/public_html/app/Mage.php(448): Mage_Core_Model_App->dispatchEvent('catalog_product...', Array)
#21 /var/www/mysite/public_html/shell/indexer.php(167): Mage::dispatchEvent('catalog_product...')
#22 /var/www/mysite/public_html/shell/indexer.php(212): Mage_Shell_Compiler->run()
#23 {main}
Next exception 'Zend_Db_Statement_Exception' with message 'SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction' in /var/www/mysite/public_html/lib/Zend/Db/Statement/Pdo.php:234
Stack trace:
#0 /var/www/mysite/public_html/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
#1 /var/www/mysite/public_html/app/code/core/Zend/Db/Statement.php(291): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
#2 /var/www/mysite/public_html/lib/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Statement->execute(Array)
#3 /var/www/mysite/public_html/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('UPDATE `catalog...', Array)
#4 /var/www/mysite/public_html/lib/Varien/Db/Adapter/Pdo/Mysql.php(428): Zend_Db_Adapter_Pdo_Abstract->query('UPDATE `catalog...', Array)
#5 /var/www/mysite/public_html/app/code/core/Mage/CatalogRule/Model/Resource/Rule/Product/Price.php(88): Varien_Db_Adapter_Pdo_Mysql->query('UPDATE `catalog...')
#6 /var/www/mysite/public_html/app/code/core/Mage/CatalogRule/Model/Rule/Product/Price.php(80): Mage_CatalogRule_Model_Resource_Rule_Product_Price->applyPriceRuleToIndexTable(Object(Varien_Db_Select), Array, 'i.entity_id', 'i.customer_grou...', 'i.website_id', Array, 'wd.website_date')
#7 /var/www/mysite/public_html/app/code/core/Mage/CatalogRule/Model/Observer.php(254): Mage_CatalogRule_Model_Rule_Product_Price->applyPriceRuleToIndexTable(Object(Varien_Db_Select), Array, 'i.entity_id', 'i.customer_grou...', 'i.website_id',Array, 'wd.website_date')
#8 /var/www/mysite/public_html/app/code/core/Mage/Core/Model/App.php(1338): Mage_CatalogRule_Model_Observer->prepareCatalogProductPriceIndexTable(Object(Varien_Event_Observer))
#9 /var/www/mysite/public_html/app/code/core/Mage/Core/Model/App.php(1317): Mage_Core_Model_App->_callObserverMethod(Object(Mage_CatalogRule_Model_Observer), 'prepareCatalogP...', Object(Varien_Event_Observer))
#10 /var/www/mysite/public_html/app/Mage.php(448): Mage_Core_Model_App->dispatchEvent('prepare_catalog...', Array)
#11 /var/www/mysite/public_html/app/code/core/Mage/Catalog/Model/Resource/Product/Indexer/Price/Default.php(304): Mage::dispatchEvent('prepare_catalog...', Array)
#12 /var/www/mysite/public_html/app/code/core/Mage/Catalog/Model/Resource/Product/Indexer/Price/Default.php(120): Mage_Catalog_Model_Resource_Product_Indexer_Price_Default->_prepareFinalPriceData()
#13 /var/www/mysite/public_html/app/code/core/Enterprise/Catalog/Model/Index/Action/Product/Price/Refresh.php(75): Mage_Catalog_Model_Resource_Product_Indexer_Price_Default->reindexAll()
#14 /var/www/mysite/public_html/app/code/core/Enterprise/Catalog/Model/Index/Action/Product/Price/Refresh.php(49): Enterprise_Catalog_Model_Index_Action_Product_Price_Refresh->_reindexAll()
#15 /var/www/mysite/public_html/app/code/core/Enterprise/Mview/Model/Client.php(109): Enterprise_Catalog_Model_Index_Action_Product_Price_Refresh->execute()
#16 /var/www/mysite/public_html/app/code/core/Enterprise/Catalog/Model/Index/Observer/Price.php(129): Enterprise_Mview_Model_Client->execute('enterprise_cata...')
#17 /var/www/mysite/public_html/app/code/core/Mage/Core/Model/App.php(1338): Enterprise_Catalog_Model_Index_Observer_Price->processShellProductReindexEvent(Object(Varien_Event_Observer))
#18 /var/www/mysite/public_html/app/code/core/Mage/Core/Model/App.php(1317): Mage_Core_Model_App->_callObserverMethod(Object(Enterprise_Catalog_Model_Index_Observer_Price), 'processShellPro...', Object(Varien_Event_Observer))
#19 /var/www/mysite/public_html/app/Mage.php(448): Mage_Core_Model_App->dispatchEvent('catalog_product...', Array)
#20 /var/www/mysite/public_html/shell/indexer.php(167): Mage::dispatchEvent('catalog_product...')
#21 /var/www/mysite/public_html/shell/indexer.php(212): Mage_Shell_Compiler->run()
#22 {main}
Next exception 'Enterprise_Index_Model_Action_Exception' with message 'SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction' in /var/www/mysite/public_html/app/code/core/Enterprise/Cat
alog/Model/Index/Action/Product/Price/Refresh.php:54
Stack trace:
#0 /var/www/mysite/public_html/app/code/core/Enterprise/Mview/Model/Client.php(109) : Enterprise_Catalog_Model_Index_Action_Product_Price_Refresh->execute()
#1 /var/www/mysite/public_html/app/code/core/Enterprise/Catalog/Model/Index/Observer/Price.php(129): Enterprise_Mview_Model_Client->execute('enterprise_cata...')
#2 /var/www/mysite/public_html/app/code/core/Mage/Core/Model/App.php(1338): Enterprise_Catalog_Model_Index_Observer_Price->processShellProductReindexEvent(Object(Varien_Event_Observer))
#3 /var/www/mysite/public_html/app/code/core/Mage/Core/Model/App.php(1317): Mage_Core_Model_App->_callObserverMethod(Object(Enterprise_Catalog_Model_Index_Observer_Price), 'processShellPro...', Object(Varien_Event_Observer))
#4 /var/www/mysite/public_html/app/Mage.php(448): Mage_Core_Model_App->dispatchEvent('catalog_product...', Array)
#5 /var/www/mysite/public_html/shell/indexer.php(167): Mage::dispatchEvent('catalog_product...')
#6 /var/www/mysite/public_html/shell/indexer.php(212): Mage_Shell_Compiler->run()
#7 {main}
类别URL重写索引已成功重建
产品网址重写索引已成功重建
网址重定向索引已成功重建
Catalog Category/Product Index index process unknown error:exception 'PDOException' with message 'SQLSTATE[42S02]: Base table or view not found: 1146 Table 'mysite.catalog_category_product_index_tmp' doesn't exist' in /var/www/mysite/public_html/lib/Zend/Db/Statement/Pdo.php:228
Stack trace:
#0 /var/www/mysite/public_html/lib/Zend/Db/Statement/Pdo.php(228): PDOStatement->execute(Array)
#1 /var/www/mysite/public_html/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
#2 /var/www/mysite/public_html/app/code/core/Zend/Db/Statement.php(291): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
#3 /var/www/mysite/public_html/lib/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Statement->execute(Array)
#4 /var/www/mysite/public_html/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('INSERT IGNORE I...', Array)
#5 /var/www/mysite/public_html/lib/Varien/Db/Adapter/Pdo/Mysql.php(428): Zend_Db_Adapter_Pdo_Abstract->query('INSERT IGNORE I...', Array)
#6 /var/www/mysite/public_html/app/code/core/Enterprise/Catalog/Model/Index/Action/Catalog/Category/Product/Refresh.php(747): Varien_Db_Adapter_Pdo_Mysql->query('INSERT IGNORE I...')
#7 /var/www/mysite/public_html/app/code/core/Enterprise/Catalog/Model/Index/Action/Catalog/Category/Product/Refresh.php(396): Enterprise_Catalog_Model_Index_Action_Catalog_Category_Product_Refresh->_reindexAnchorCategories(Object(Mana_Seo_Rewrite_Store))
#8 /var/www/mysite/public_html/app/code/core/Enterprise/Catalog/Model/Index/Action/Catalog/Category/Product/Refresh.php(170): Enterprise_Catalog_Model_Index_Action_Catalog_Category_Product_Refresh->_reindex()
#9 /var/www/mysite/public_html/app/code/core/Enterprise/Mview/Model/Client.php(109): Enterprise_Catalog_Model_Index_Action_Catalog_Category_Product_Refresh->execute()
#10 /var/www/mysite/public_html/app/code/core/Enterprise/Catalog/Model/Index/Observer/Category/Product.php(158): Enterprise_Mview_Model_Client->execute('enterprise_cata...')
#11 /var/www/mysite/public_html/app/code/core/Mage/Core/Model/App.php(1338): Enterprise_Catalog_Model_Index_Observer_Category_Product->processShellCategoryProductReindexEvent(Object(Varien_Event_Observer))
#12 /var/www/mysite/public_html/app/code/core/Mage/Core/Model/App.php(1317): Mage_Core_Model_App->_callObserverMethod(Object(Enterprise_Catalog_Model_Index_Observer_Category_Product), 'processShellCat...', Object(Varien_Event_Observer))
#13 /var/www/mysite/public_html/app/Mage.php(448): Mage_Core_Model_App->dispatchEvent('catalog_categor...', Array)
#14 /var/www/mysite/public_html/shell/indexer.php(167): Mage::dispatchEvent('catalog_categor...')
#15 /var/www/mysite/public_html/shell/indexer.php(212): Mage_Shell_Compiler->run()
#16 {main}
Next exception 'Zend_Db_Statement_Exception' with message 'SQLSTATE[42S02]: Basetable or view not found: 1146 Table 'mysite.catalog_category_product_index_tmp' doesn't exist' in /var/www/mysite/public_html/lib/Zend/Db/Statement/Pdo.php:234
Stack trace:
#0 /var/www/mysite/public_html/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
#1 /var/www/mysite/public_html/app/code/core/Zend/Db/Statement.php(291): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
#2 /var/www/mysite/public_html/lib/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Statement->execute(Array)
#3 /var/www/mysite/public_html/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('INSERT IGNORE I...', Array)
#4 /var/www/mysite/public_html/lib/Varien/Db/Adapter/Pdo/Mysql.php(428): Zend_Db_Adapter_Pdo_Abstract->query('INSERT IGNORE I...', Array)
#5 /var/www/mysite/public_html/app/code/core/Enterprise/Catalog/Model/Index/Action/Catalog/Category/Product/Refresh.php(747): Varien_Db_Adapter_Pdo_Mysql->query('INSERT IGNORE I...')
#6 /var/www/mysite/public_html/app/code/core/Enterprise/Catalog/Model/Index/Action/Catalog/Category/Product/Refresh.php(396): Enterprise_Catalog_Model_Index_Action_Catalog_Category_Product_Refresh->_reindexAnchorCategories(Object(Mana_Seo_Rewrite_Store))
#7 /var/www/mysite/public_html/app/code/core/Enterprise/Catalog/Model/Index/Action/Catalog/Category/Product/Refresh.php(170): Enterprise_Catalog_Model_Index_Action_Catalog_Category_Product_Refresh->_reindex()
#8 /var/www/mysite/public_html/app/code/core/Enterprise/Mview/Model/Client.php(109): Enterprise_Catalog_Model_Index_Action_Catalog_Category_Product_Refresh->execute()
#9 /var/www/mysite/public_html/app/code/core/Enterprise/Catalog/Model/Index/Observer/Category/Product.php(158): Enterprise_Mview_Model_Client->execute('enterprise_cata...')
#10 /var/www/mysite/public_html/app/code/core/Mage/Core/Model/App.php(1338): Enterprise_Catalog_Model_Index_Observer_Category_Product->processShellCategoryProductReindexEvent(Object(Varien_Event_Observer))
#11 /var/www/mysite/public_html/app/code/core/Mage/Core/Model/App.php(1317): Mage_Core_Model_App->_callObserverMethod(Object(Enterprise_Catalog_Model_Index_Observer_Category_Product), 'processShellCat...', Object(Varien_Event_Observer))
#12 /var/www/mysite/public_html/app/Mage.php(448): Mage_Core_Model_App->dispatchEvent('catalog_categor...', Array)
#13 /var/www/mysite/public_html/shell/indexer.php(167): Mage::dispatchEvent('catalog_categor...')
#14 /var/www/mysite/public_html/shell/indexer.php(212): Mage_Shell_Compiler->run()
#15 {main}
Next exception 'Enterprise_Index_Model_Action_Exception' with message 'SQLSTATE[42S02]: Base table or view not found: 1146 Table 'mysite.catalog_category_product_index_tmp' doesn't exist' in /var/www/mysite/public_html/app/code/core/Enterprise/Catalog/Model/Index/Action/Catalog/Category/Product/Refresh.php:175
Stack trace:
#0 /var/www/mysite/public_html/app/code/core/Enterprise/Mview/Model/Client.php(109): Enterprise_Catalog_Model_Index_Action_Catalog_Category_Product_Refresh->execute()
#1 /var/www/mysite/public_html/app/code/core/Enterprise/Catalog/Model/Index/Observer/Category/Product.php(158): Enterprise_Mview_Model_Client->execute('enterprise_cata...')
#2 /var/www/mysite/public_html/app/code/core/Mage/Core/Model/App.php(1338): Enterprise_Catalog_Model_Index_Observer_Category_Product->processShellCategoryProductReindexEvent(Object(Varien_Event_Observer))
#3 /var/www/mysite/public_html/app/code/core/Mage/Core/Model/App.php(1317): Mage_Core_Model_App->_callObserverMethod(Object(Enterprise_Catalog_Model_Index_Observer_Category_Product), 'processShellCat...', Object(Varien_Event_Observer))
#4 /var/www/mysite/public_html/app/Mage.php(448): Mage_Core_Model_App->dispatchEvent('catalog_categor...', Array)
#5 /var/www/mysite/public_html/shell/indexer.php(167): Mage::dispatchEvent('catalog_categor...')
#6 /var/www/mysite/public_html/shell/indexer.php(212): Mage_Shell_Compiler->run()
#7 {main}
目录搜索索引索引已成功重建
产品属性索引已成功重建
SEO URL重写(MANAdev)索引已成功重建
标记聚合数据索引已成功重建
SEO Schemas(MANAdev)索引已成功重建
默认值(MANAdev)索引已成功重建
答案 0 :(得分:2)
有一件事是将索引器设置为在重建索引之前手动运行,以确保后端中的编辑没有放置可以释放的锁,然后阻止索引过程。您需要在之后将索引器设置为其运行状态。
答案 1 :(得分:0)
需要进一步的细节: 1.哪个Magento企业版(看起来正在运行部分索引)?。
是否开发了其他与其他Magento cron脚本不同步的脚本。
即使您刷新缓存和整页缓存
使用Magento设置创建的tmp表在哪里? 看看这个:
exception:找不到基表或视图:1146表'mysite.catalog_category_pro
/ var / www / mysite / public_html / app / code / core / Enterpr 中duct_index_tmp'不存在'
ISE /目录/型号/索引/动作/目录/分类/产品/ Refresh.php:175
因此,请确保没有资源限制,并且已创建tmp表的特权。
答案 2 :(得分:-2)
我认为解决方案要简单得多。正如您所看到的,发生了死锁。我认为这是性能问题,您使用专用数据库服务器吗?如果是或否,您的服务器使用什么硬件?此外,您经常重新索引?