Project

Profile

Help

Issue #1113

closed

If an instance of pulp_celerybeat dies unexpectedly, Pulp incorrectly tries to "cancel all tasks in its queue"

Added by bmbouter over 8 years ago. Updated almost 5 years ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
Normal
Assignee:
Category:
-
Sprint/Milestone:
-
Start date:
Due date:
Estimated time:
Severity:
1. Low
Version:
Master
Platform Release:
2.8.5
OS:
Triaged:
Yes
Groomed:
No
Sprint Candidate:
No
Tags:
Easy Fix, Pulp 2
Sprint:
Quarter:

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

Related to Pulp - Issue #1114: If an instance of pulp_resource_manager dies unexpectedly, Pulp incorrectly tries to "cancel all tasks in its queue"CLOSED - WONTFIXActions
Blocked by Pulp - Story #1060: As a user I can run Pulp with multiple celeryBeat instancesCLOSED - CURRENTRELEASEsbhawsin

Actions
Actions #1

Updated by bmbouter over 8 years ago

  • Blocked by Story #1060: As a user I can run Pulp with multiple celeryBeat instances added
Actions #2

Updated by bmbouter over 8 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
Actions #3

Updated by bmbouter over 8 years ago

  • Triaged changed from No to Yes
Actions #4

Updated by dalley almost 8 years ago

  • Status changed from NEW to ASSIGNED
  • Assignee set to dalley
Actions #5

Updated by dalley almost 8 years ago

  • Status changed from ASSIGNED to POST

Added by dalley almost 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

Added by dalley almost 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

Actions #7

Updated by dalley almost 8 years ago

  • Status changed from POST to MODIFIED
  • % Done changed from 0 to 100
Actions #8

Updated by semyers almost 8 years ago

  • Platform Release set to 2.8.5
Actions #9

Updated by semyers almost 8 years ago

  • Status changed from MODIFIED to 5
Actions #10

Updated by semyers over 7 years ago

  • Status changed from 5 to CLOSED - CURRENTRELEASE
Actions #11

Updated by bmbouter almost 5 years ago

  • Tags Pulp 2 added

Also available in: Atom PDF