View Issue Details

IDProjectCategoryView StatusLast Update
0006507OXID eShop (all versions)4.12. Subshop handlingpublic2016-09-20 08:33
Reporterkattenberg 
PriorityhighSeveritycriticalReproducibilityalways
Status closedResolutionduplicate 
PlatformLinuxOSDebianOS Version3.2.73-2
Product Version4.10.1 / 5.3.1 
Target VersionFixed in Version 
Summary0006507: MySQL Deadlock / aServersData is written on every page view
DescriptionIf 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 Reproduce1. Call any page of shop 2.
2. Watch it renewing with this query: "SELECT * FROM oxconfig WHERE OXVARNAME = 'aServersData'"
Additional InformationOn 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".
TagsNo tags attached.
ThemeNot defined
BrowserAll
PHP Version5.6
MySQL Version5.5

Relationships

duplicate of 0006484 resolvedvilma_liorensaityte oxConfig entry aServersDatais is always deleted and selected by shop id 1, but written by the actual active shop id 

Activities

kattenberg

2016-09-19 11:22

reporter  

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}
EXCEPTION_LOG.txt (2,876 bytes)

QA

2016-09-19 14:23

administrator   ~0011793

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.

kattenberg

2016-09-19 16:14

reporter   ~0011794

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.

QA

2016-09-20 08:33

administrator   ~0011795

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