Issue #676
closedErrata unit copy with recursive copy and dep solve causes worker to balloon memory usage and never free
Description
Description of problem:
When doing a unit copy of a single errata with a large source repo if recursive and resolve_dependencies are set to true the pulp worker doing the copy will balloon to a very large memory size and never free that memory even when the unit copy is completed.
post "https://localhost/pulp/api/v2/repositories/new_repo/actions/associate/"
{"source_repo_id":"bigrepo","criteria":{"type_ids":["erratum"],"filters":{"association":{"unit_id":{"$in":["26b996e9-ab64-4f09-ba94-7b846c71573b"]}}}},"override_config":{"recursive":true,"resolve_dependencies":true}}
The source repo in this case was rhel 6 x86_64, containing ~14400 packages and ~2800 errata.
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
apache 28498 0.0 25.3 1843224 1483900 ? S Jan23 0:28 /usr/bin/python -m celery.__main__ worker -c 1 -n reserved_resource_worker-2@abed.usersys.redhat.com --events --app=
Version-Release number of selected component (if applicable):
2.5.1
How reproducible:
always
Steps to Reproduce:
1. Perform a recursive errata unit copy with dep resolution turned on
2. Watch memory usage for processes "watch 'ps aux | sort -nk +4 | tail'" will show the top processes by memory usage.
Actual results:
pulp worker will quickly creep up in memory usage and never go back down.
Expected results:
Memory usage goes back down after unit copy
Additional info:
+ This bug was cloned from Bugzilla Bug #1185868 +
Files