Issue #1113
closedIf an instance of pulp_celerybeat dies unexpectedly, Pulp incorrectly tries to "cancel all tasks in its queue"
Description
This bug is introduced with https://github.com/pulp/pulp/pull/1940/ because before then it wasn't possible to run multiple pulp_celerybeat processes concurrently.
1. Start a clustered pulp installation with two machines in the cluster. Suppose these hostnames are called boxA and boxB. Start all pulp_* and httpd services on boxA.
2. Start a second pulp_celerybeat instance on boxB.
3. Use the /status/ API to verify that you can see both entries. They should show as 'scheduler@boxA' and 'scheduler@boxB'.
4. kill -9 the pulp_celerybeat service on boxB.
5. Wait for 6 or 7 minutes
6. Observe a traceback similar to the following in the logs of boxA.
pulp.server.async.scheduler:ERROR: Workers 'scheduler@boxB' has gone missing, removing from list of workers
pulp.server.async.tasks:ERROR: The worker named scheduler@boxB is missing. Canceling the tasks in its queue.
Two things are wrong with this, and both of them are located in this section of code.
(1) It should never call _delete_worker(worker.name) which attempts to cancel tasks, log, and clean up reservations, none of which make sense to do for pulp_celerybeat. Instead it should delete the worker record synchronously and continue.
(2) The error message is misleading. I'll suggest it should read something like:
pulp_celerybeat 'scheduler@boxB' has gone missing.
Related issues
Updated by bmbouter about 9 years ago
- Blocked by Story #1060: As a user I can run Pulp with multiple celeryBeat instances added
Updated by bmbouter about 9 years ago
- Related to Issue #1114: If an instance of pulp_resource_manager dies unexpectedly, Pulp incorrectly tries to "cancel all tasks in its queue" added
Updated by dalley over 8 years ago
- Status changed from NEW to ASSIGNED
- Assignee set to dalley
Added by dalley over 8 years ago
Added by dalley over 8 years ago
Revision a63536ac | View on GitHub
Fixes a misleading error message when a duplicate celerybeat worker is killed. Moved and renamed scheduler constants for consistency and clarity. closes #1113
Updated by dalley over 8 years ago
- Status changed from POST to MODIFIED
- % Done changed from 0 to 100
Applied in changeset pulp|a63536ac2384626f58939e3a41d7f2f31bd50750.
Updated by semyers about 8 years ago
- Status changed from 5 to CLOSED - CURRENTRELEASE
Fixes a misleading error message when a duplicate celerybeat worker is killed. Moved and renamed scheduler constants for consistency and clarity. closes #1113