View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0006507 | OXID eShop (all versions) | 4.12. Subshop handling | public | 2016-09-19 11:04 | 2016-09-20 08:33 |
Reporter | kattenberg | Assigned To | |||
Priority | high | Severity | crash | Reproducibility | always |
Status | closed | Resolution | duplicate | ||
Platform | Linux | OS | Debian | OS Version | 3.2.73-2 |
Product Version | 4.10.1 / 5.3.1 | ||||
Summary | 0006507: MySQL Deadlock / aServersData is written on every page view | ||||
Description | If you use subshops, Oxid is deleting and inserting the aServersData entry in the oxconfig table on every page view which sometimes leads to MySQL deadlocks on our server. | ||||
Steps To Reproduce | 1. Call any page of shop 2. 2. Watch it renewing with this query: "SELECT * FROM oxconfig WHERE OXVARNAME = 'aServersData'" | ||||
Additional Information | On line 216 the parameter gets written with shop ID 1, but it's always read shop-specific on line 46. I could simply fix it by replacing the method call "getConfigParam" with "getSystemConfigParameter" on line 46 of the "oxserversmanager.php". | ||||
Tags | No tags attached. | ||||
Attached Files | EXCEPTION_LOG.txt (2,876 bytes)
oxConnectionException-oxException (time: 2016-09-08 11:10:40): [1213]: mysql error: [1213: Deadlock found when trying to get lock; try restarting transaction] in EXECUTE (delete from oxconfig where oxshopid = '1' and oxvarname = 'aServersData' and oxmodule = '', Array) with user --- Stack Trace: #0 /home/ape/---/releases/deploy_---1473157764032/core/adodblite/adodbSQL_drivers/mysql/mysql_driver.inc(369): adodb_throw('mysql', 'EXECUTE', 1213, 'Deadlock found ...', 'delete from oxc...', Array, Object(object_ADOConnection)) #1 /home/ape/prod_---/releases/deploy_---1473157764032/core/adodblite/adodb.inc.php(316): mysql_driver_ADOConnection->do_query('delete from oxc...', -1, -1, Array) #2 /home/ape/prod_---/releases/deploy_---1473157764032/core/oxlegacydb.php(228): ADOConnection->Execute('delete from oxc...', Array) #3 /home/ape/prod_---/releases/deploy_---1473157764032/core/oxconfig.php(2101): oxLegacyDb->execute('delete from oxc...') #4 /home/ape/prod_---/releases/deploy_---1473157764032/core/oxconfig.php(2739): oxConfig->saveShopConfVar('arr', 'aServersData', Array, '1') #5 /home/ape/prod_---/releases/deploy_---1473157764032/core/oxserversmanager.php(216): oxConfig->saveSystemConfigParameter('arr', 'aServersData', Array) #6 /home/ape/prod_---/releases/deploy_---1473157764032/core/oxserversmanager.php(80): oxServersManager->_save(Array) #7 /home/ape/prod_---/releases/deploy_---1473157764032/core/oxserverprocessor.php(106): oxServersManager->saveServer(Object(oxApplicationServer)) #8 /home/ape/prod_---/releases/deploy_---1473157764032/core/oxsystemeventhandler.php(144): oxServerProcessor->process() #9 /home/ape/prod_---/releases/deploy_---1473157764032/application/controllers/oxstart.php(35): oxSystemEventHandler->onShopStart() #10 /home/ape/prod_---/releases/deploy_---1473157764032/core/oxconfig.php(450): oxStart->appInit() #11 /home/ape/prod_---/releases/deploy_---1473157764032/core/oxconfig.php(337): oxConfig->init() #12 /home/ape/prod_---/releases/deploy_---1473157764032/core/oxmodulelist.php(151): oxConfig->getConfigParam('aModulePaths') #13 /home/ape/prod_---/releases/deploy_---1473157764032/core/oxmodulelist.php(73): oxModuleList->getModulePaths() #14 /home/ape/prod_---/releases/deploy_---1473157764032/core/oxfunctions.php(82): oxModuleList->getActiveModuleInfo() #15 [internal function]: oxAutoload('d3log') #16 [internal function]: spl_autoload_call('d3log') #17 /home/ape/prod_---/releases/deploy_---1473157764032/modules/_d3modcfg/modules/controllers/d3_oxshopcontrol_modcfg_extension.php(38): class_exists('d3log') #18 /home/ape/prod_---/releases/deploy_---1473157764032/core/oxid.php(32): d3_oxshopcontrol_modcfg_extension->start() #19 /home/ape/prod_---/releases/deploy_---1473157764032/index.php(34): Oxid::run() #20 /home/ape/prod_---/releases/deploy_---1473157764032/oxseo.php(36): require('/home/ape/prod_...') #21 {main} | ||||
Theme | Not defined | ||||
Browser | All | ||||
PHP Version | 5.6 | ||||
Database Version | 5.5 | ||||
duplicate of | 0006484 | resolved | vilma_liorensaityte | oxConfig entry aServersDatais is always deleted and selected by shop id 1, but written by the actual active shop id |
|
In enterprise demoshop it is not reproducable. The aServersData entry in the oxconfig table was only inserted once, not on every page view. Try to reproduce in new installation. |
|
I could reproduce it in an 5.3.1 EE demoshop. However you either have to configure the base url for a subshop or call the shop with a "shp" parameter in the URL and this also will only be reproducable when you delete the aServersData key within the oxconfig table for the subshop you are calling. Well, I think we don't have that aServersData key for shop id 2 because we were migrating from 5.0.11 to 5.3.1. So I think this was missing in the migration script. After the migration we created another subshop. And for this one we have that entry. |
|
Thnx for further information. I found the same bug, so this one will be closed as dublicate of https://bugs.oxid-esales.com/view.php?id=6484 |