Forums / General / Transactions fatal error

Transactions fatal error

Author Message

H-Works Agency

Friday 05 November 2010 5:40:15 am

Hello,

I have transaction errors when i try to remove/move/edit content but only in a certain folder.

When i check logs i have always those two errors :

[ Nov 05 2010 13:34:33 ] [80.11.208.85] :The parent ID 62128 of element with ID 61474 does not point to the last entry which had ID 31744, incorrect path would be calculated, aborting

[ Nov 05 2010 13:34:33 ] [80.11.208.85] :eZContentObjectTreeNode::pathWithNames() failed to fetch path of node 90552, falling back to generated url entries. Run updateniceurls.php to fix the problem.

[ Nov 05 2010 13:34:33 ] [80.11.208.85] :The parent ID 62128 of element with ID 61474 does not point to the last entry which had ID 31744, incorrect path would be calculated, aborting

[ Nov 05 2010 13:34:33 ] [80.11.208.85] :eZContentObjectTreeNode::pathWithNames() failed to fetch path of node 90552, falling back to generated url entries. Run updateniceurls.php to fix the problem.

Even if i run updateniceurls.php script the problem remains.

What is the next step i can try to correct the problem ?

Thanx in advance for any help.

EZP is Great

Jean-Luc Nguyen

Friday 05 November 2010 9:13:39 am

Hello,

I guess you are using eZ Publish version 4.0.X ? If you run updateniceurls.php and it did not correct the parent node, I guess you should fix it directly in the database if you have the skills to.

http://www.acidre.com

H-Works Agency

Thursday 09 December 2010 5:42:49 am

Still a lot of transaction fatal errors when the website get a little complex in term of number of objects (few thousands).

User get a catastrophic experience cause of those fatal error.

I had those problem on a few website and was never able to identify clearly the problem, if someone has an idea it'd be great.

Cheers

Example :

[ Dec 09 2010 14:40:15 ] [] eZMySQLDB:Query error: Lock wait timeout exceeded; try restarting transaction. Query: UPDATE ezcontentobject_tree SET modified_subnode=1291901964 WHERE node_id IN ( 1, 2, 19197, 94, 325, 93566 )
[ Dec 09 2010 14:40:15 ] [] eZDBInterface::commit TRANSID-2f67855008ebdd1013f6c77b60074:Transaction in progress failed due to DB error, transaction was rollbacked. Transaction ID is TRANSID-2f67855008ebdd1013f6c77b60074.
[ Dec 09 2010 14:40:41 ] [89.11.208.85] eZMySQLDB:Query error: Lock wait timeout exceeded; try restarting transaction. Query: DELETE FROM ezuser_discountrule WHERE contentobject_id = '99164'
[ Dec 09 2010 14:40:15 ] [] eZMySQLDB:Query error: Lock wait timeout exceeded; try restarting transaction. Query: UPDATE ezcontentobject_tree SET modified_subnode=1291901964 WHERE node_id IN ( 1, 2, 19197, 94, 325, 93566 )
[ Dec 09 2010 14:40:15 ] [] eZDBInterface::commit TRANSID-2f67855008ebdd1013f6c77b60074:Transaction in progress failed due to DB error, transaction was rollbacked. Transaction ID is TRANSID-2f67855008ebdd1013f6c77b60074.
[ Dec 09 2010 14:40:41 ] [89.11.208.85] eZMySQLDB:Query error: Lock wait timeout exceeded; try restarting transaction. Query: DELETE FROM ezuser_discountrule WHERE contentobject_id = '99164'

EZP is Great

H-Works Agency

Thursday 09 December 2010 5:45:02 am

Url alias system seems completely broken in 4.3

I have thousands of : eZContentObjectTreeNode::pathWithNames() failed to fetch path of node 90201, falling back to generated url entries. Run updateniceurls.php to fix the problem.

But running the script doesn't change anything.

EZP is Great

Christian Rößler

Thursday 09 December 2010 6:13:22 am

"

Still a lot of transaction fatal errors when the website get a little complex in term of number of objects (few thousands).

User get a catastrophic experience cause of those fatal error.

I had those problem on a few website and was never able to identify clearly the problem, if someone has an idea it'd be great.

Cheers

Example :

[ Dec 09 2010 14:40:15 ] [] eZMySQLDB:Query error: Lock wait timeout exceeded; try restarting transaction. Query: UPDATE ezcontentobject_tree SET modified_subnode=1291901964 WHERE node_id IN ( 1, 2, 19197, 94, 325, 93566 )
[ Dec 09 2010 14:40:15 ] [] eZDBInterface::commit TRANSID-2f67855008ebdd1013f6c77b60074:Transaction in progress failed due to DB error, transaction was rollbacked. Transaction ID is TRANSID-2f67855008ebdd1013f6c77b60074.
[ Dec 09 2010 14:40:41 ] [89.11.208.85] eZMySQLDB:Query error: Lock wait timeout exceeded; try restarting transaction. Query: DELETE FROM ezuser_discountrule WHERE contentobject_id = '99164'
[ Dec 09 2010 14:40:15 ] [] eZMySQLDB:Query error: Lock wait timeout exceeded; try restarting transaction. Query: UPDATE ezcontentobject_tree SET modified_subnode=1291901964 WHERE node_id IN ( 1, 2, 19197, 94, 325, 93566 )
[ Dec 09 2010 14:40:15 ] [] eZDBInterface::commit TRANSID-2f67855008ebdd1013f6c77b60074:Transaction in progress failed due to DB error, transaction was rollbacked. Transaction ID is TRANSID-2f67855008ebdd1013f6c77b60074.
[ Dec 09 2010 14:40:41 ] [89.11.208.85] eZMySQLDB:Query error: Lock wait timeout exceeded; try restarting transaction. Query: DELETE FROM ezuser_discountrule WHERE contentobject_id = '99164'

"

This is not caused directly by eZPublish but by your database which was obviously not modified in terms of memory/settings/my.cnf to reflect to multiple thousand objects. In order to function proberly, eZPublish created several sql-statements which get executed one after another in the database. If one query takes too long and reaches an configured limit inside mysql, mysql itself aborts averything and throws an error back to php.

Table lock timeouts can occour, when an update/insert statements takes tooo long to execute due to large number of dataset which does not fit into configured memory. See mysql.com for documentation on performance tuning or refer to one of the dozends of forum threads in this forum to solve this issue. Also try to create a ramdisk for mysql temporary tables which might lead to an astonishing performance increase on the backend. google is your friend.

To the url-alias problems: i second that issues. It occurs on eZPublish 4.0.7, 4.1, 4.2, 4.3 and freshly installed 4.4. The most damaged database belongs to a 3 month old eZPublish 4.3 which holds several thousand objects in approx 14 languages each. After some weeks of use by editors, the ez-errorlog fills with those items and there's nothing i can do about. Running updateniceurls does not solve this particular issue. My Editors mostly have been moving objects fro a to b and translating/editing them. Nothing fancy/nasty though.

cheers,

chris

Hannover, Germany
eZ-Certified http://auth.ez.no/certification/verify/395613

Bertrand Dunogier

Thursday 09 December 2010 7:26:35 am

You really shouldn't be getting so many lock timeout errors, especially on these tables !

Do you have any idea of the publishing concurrency level your system is experiencing ?

Could you also paste the result of a SHOW VARIABLES from your MySQL instance, as well as the server's hardware specifications ?

What search engine do you use ? Did you enable DelayedIndexing ?

Did you enable ContentSettings.PreviewCache ?

Bertrand Dunogier
eZ Systems Engineering, Lyon
http://twitter.com/bdunogier
http://gplus.to/BertrandDunogier

eZ debug

Timing: Jan 29 2025 13:44:10
Script start
Timing: Jan 29 2025 13:44:10
Module start 'content'
Timing: Jan 29 2025 13:44:10
Module end 'content'
Timing: Jan 29 2025 13:44:10
Script end

Main resources:

Total runtime0.0212 sec
Peak memory usage2,048.0000 KB
Database Queries4

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0070 587.9063180.8516
Module start 'content' 0.00700.0071 768.7578105.9453
Module end 'content' 0.01410.0071 874.703182.6875
Script end 0.0212  957.3906 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.002310.8401120.0002
Check MTime0.00115.0133120.0001
Mysql Total
Database connection0.00083.850410.0008
Mysqli_queries0.004420.552140.0011
Looping result0.00000.056220.0000
Template Total0.006631.010.0066
Template load0.00104.529110.0010
Template processing0.005626.471010.0056
Override
Cache load0.00062.983010.0006
General
dbfile0.003717.6073100.0004
String conversion0.00000.023630.0000
Note: percentages do not add up to 100% because some accumulators overlap

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 1
 Number of unique templates used: 1

Time used to render debug report: 0.0001 secs