XF 2.1 Site hangs up when trying to delete a spammer with a high volume of posts, can't load spam management logs

I've looked through the forum here and haven't been able to find anyone else with this error using 2.x. I'm trying to delete a user with over 500 pages of posts, and the site hangs up. I can't even delete ONE post from this particular user, although I can delete single posts from other users. Also when I try to load the spam cleaner log etc the site hangs up. Can I get some direction here as to my next move?
 
Try

 
I don't mind giving it a shot, but I can't see anything in the docs that explains why this deletion app is any different than using the spam cleaner. Do you know what the differences might be?
 
If you can't delete a single post one at a time for that member there's possibly a problem with permissions. I'd get that sorted out before installing add-ons.
 
They're already at 0. I will check permissions, but I believe we're talking about mysql entries here that is causing the problem. The particular spam posts I'm trying to delete all use pixhost, imagevenue etc instead of posting attachments. All attachment directories are chmod 777 or 755. That's the correct permissions for the attachments right?
 
Here is the error I'm getting trying to delete even a single post this user:

Oops! We ran into some problems.
XF\Db\Exception: MySQL query error [1205]: Lock wait timeout exceeded; try restarting transaction in src/XF/Db/AbstractStatement.php at line 217
XF\Db\AbstractStatement->getException() in src/XF/Db/Mysqli/Statement.php at line 196
XF\Db\Mysqli\Statement->getException() in src/XF/Db/Mysqli/Statement.php at line 77
XF\Db\Mysqli\Statement->execute() in src/XF/Db/AbstractAdapter.php at line 94
XF\Db\AbstractAdapter->query() in src/XF/Db/AbstractAdapter.php at line 289
XF\Db\AbstractAdapter->delete() in src/XF/Mvc/Entity/Entity.php at line 1545
XF\Mvc\Entity\Entity->delete() in src/XF/Service/Post/Deleter.php at line 95
XF\Service\Post\Deleter->delete() in src/XF/Pub/Controller/Post.php at line 255
XF\Pub\Controller\Post->actionDelete() in src/XF/Mvc/Dispatcher.php at line 321
XF\Mvc\Dispatcher->dispatchClass() in src/XF/Mvc/Dispatcher.php at line 244
XF\Mvc\Dispatcher->dispatchFromMatch() in src/XF/Mvc/Dispatcher.php at line 100
XF\Mvc\Dispatcher->dispatchLoop() in src/XF/Mvc/Dispatcher.php at line 50
XF\Mvc\Dispatcher->run() in src/XF/App.php at line 2177
XF\App->run() in src/XF.php at line 390
XF::runApp() in index.php at line 20
 
An error such as that when deleting a single record from a database is highly unusual.

Nothing particularly intensive is happening here.

Have you attempted to delete a post by any other user? There's no reason it would affect one user's posts and not another's.

Typically such an error could be indicative of server load issues, though you may want to attempt to increase the server configuration being called out in the error. MySQL has a innodb_lock_wait_timeout value which can be set higher. Your host or server support people would be best placed to assist with this if required. Typically the below would be configured in your server's my.cnf file:

Code:
innodb_lock_wait_timeout=120
 
yes, I can delete single posts by other users. I can, however, generate the same error trying to delete 20 or so posts from other users. We just added another 16gb of RAM to the server and increased the timeout, made no difference.
 
hey I have someone from the forum working with the hosting company trying to resolve this. Also, I had about 64 windows open and accidentally posted a user/pass (to a ticket system, not cpanel). Whoever caught that and deleted that post, thank you.
 
An error such as that when deleting a single record from a database is highly unusual.

Nothing particularly intensive is happening here.

Have you attempted to delete a post by any other user? There's no reason it would affect one user's posts and not another's.

Typically such an error could be indicative of server load issues, though you may want to attempt to increase the server configuration being called out in the error. MySQL has a innodb_lock_wait_timeout value which can be set higher. Your host or server support people would be best placed to assist with this if required. Typically the below would be configured in your server's my.cnf file:

Code:
innodb_lock_wait_timeout=120

The following link may contain interesting information for programmers and admins (specially-> #64) :)
 
Last edited:
Top Bottom