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