LemmyNet / lemmy

🐀 A link aggregator and forum for the fediverse
https://join-lemmy.org
GNU Affero General Public License v3.0
13.25k stars 879 forks source link

[Bug]: Bulk-removing comments leads to timeout if there are many #4642

Open bjoern-tantau opened 6 months ago

bjoern-tantau commented 6 months ago

Requirements

Summary

When bulk-removing comments from a user who has lots of them it takes a long time and then times out. I guess it's trying to remove all of them in one go.

Screenshot_20240419-185303

Steps to Reproduce

  1. Start to ban a user with lots of content.
  2. Select "remove content"
  3. Send

Technical Details

Sorry, don't have access to the server at the moment.

Version

BE 0.19.3

Lemmy Instance URL

swg-empire.de

MV-GH commented 6 months ago

This might also be partially Jerboa, Jerboa has a timeout of 20s. Not sure if the Server has a timeout but that also might be exceeded by this request regardless. Perhaps the server should queue this action?

dessalines commented 6 months ago

Yep, these longer actions could potentially be backgrounded... but I'd rather investigate which DB action in crates/api_common/src/utils.rs remove_user_data is taking so long.

Nutomic commented 1 month ago

Its most likely purge_image_posts_for_person() which loops through a potentially very large list of posts, and makes HTTP calls to pictrs for each item. Similarly it loops through all communities where that user is top mod. Those and other for loops in utils.rs should be moved to background threads.