Issue #1564
closedUnacked messages in resource_manager queue
Description
After executing a "heavy" workload, the resource_manager queue may have unacked messages in it. To reproduce you can:
1. Execute the heavy workload and let it finish. For instance you could sync many repos and publish them.
2. List the Qpid queue statistics with:
qpid-stat -q
3. Observe a output like the following:
queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons bind
=================================================================================================================================================================
<snip>
resource_manager Y 19 338 319 33.4k 567k 534k 1 2
<snip>
4. Observe that all Pulp tasks have completed with state finished, and yet there are still messages in the 'msg' column. 19 in the example above. You can verify all Pulp tasks as being completed by connecting to mongo, switching to the pulp_database, and running the following command. If all pulp tasks are finished that query will return 0.
db.task_status.find({ state:{ $ne: "finished" } } ).count()
Note: This has been observed on both EL6 and EL7, and it may be observable on Fedoras also.
Any of the unacked messages will be "rerun" when the resource_manager restarts because the message broker will redeliver them. This is a user noticeable defect.
Updated by bmbouter almost 9 years ago
- Status changed from NEW to ASSIGNED
- Assignee set to bmbouter
Updated by bmbouter almost 9 years ago
I've been able to reproduce this in my dec environment.
First I reduce the number of workers I have to 1.
Then I create two repos:
pulp-admin rpm repo create --repo-id zoo --feed https://repos.fedorapeople.org/pulp/pulp/demo_repos/zoo/
pulp-admin rpm repo create --repo-id zoo2 --feed https://repos.fedorapeople.org/pulp/pulp/demo_repos/zoo2/
Then I make a script which will sync them both:
[vagrant@dev scripts]$ cat sync_zoo1_zoo2.sh
http --verify no -v --auth admin:admin POST https://localhost/pulp/api/v2/repositories/zoo/actions/sync/
http --verify no -v --auth admin:admin POST https://localhost/pulp/api/v2/repositories/zoo2/actions/sync/
Then I run that script 15 times quickly in a bash loop:
for i in {1..15}; do sh sync_zoo1_zoo2.sh; done
Then observe using `qpid-stat -q` that there are unacked messages in the resource_manager queue after all of the syncs have completed.
Updated by jortel@redhat.com almost 9 years ago
- Priority changed from Normal to High
- Platform Release set to 2.8.0
- Triaged changed from No to Yes
Updated by jortel@redhat.com almost 9 years ago
- Platform Release deleted (
2.8.0)
Updated by bmbouter almost 9 years ago
This is a bug in Celery. Upstream bug filed here: https://github.com/celery/celery/issues/3019
Added by bmbouter almost 9 years ago
Added by bmbouter almost 9 years ago
Revision 83bd85c4 | View on GitHub
Adds python-kombu-3.0.24-11 to external_deps.json
Added by bmbouter almost 9 years ago
Revision 83bd85c4 | View on GitHub
Adds python-kombu-3.0.24-11 to external_deps.json
Updated by bmbouter almost 9 years ago
- Status changed from ASSIGNED to POST
PR available at: https://github.com/pulp/pulp/pull/2364
Updated by bmbouter almost 9 years ago
- Status changed from POST to MODIFIED
- Platform Release set to 2.7.2
Updated by dkliban@redhat.com almost 9 years ago
- Status changed from MODIFIED to 5
Updated by semyers over 8 years ago
- Status changed from 5 to CLOSED - CURRENTRELEASE
- Version set to 2.8.0
Updated by semyers over 8 years ago
- Version changed from 2.8.0 to 2.7.0
- Platform Release changed from 2.7.2 to 2.8.0
Updated the wrong field. Sorry 'bout that.
Automatic commit of package [python-kombu] minor release [3.0.24-11.pulp].