pulp / pulp/pulpcore

Document in plugin writer guide tasks are not safe to wait on other tasks

Open
#1,896 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Documentation Task
Dominant language
Python
Stars
598
Forks
168
Avg merge
1d 4h
Merged PRs (30d)
86

Description

Author: @bmbouter (bmbouter)

Redmine Issue: 6773, https://pulp.plan.io/issues/6773


Background

Pulp architecturally cannot have a task that waits on another task, otherwise on systems where only 1 pulp worker is running Pulp will deadlock. Pulp workers only work on one task at a time, so here is the deadlock example:

  1. Task foo starts running
  2. Task foo dispatches task bar
  3. Task bar never starts because Task foo never finishes and there is only one worker
  4. despair

Solution

Document a new section named "tasks waiting on tasks" in the plugin writer's guide Tasks section here. It should document this.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Open the linked plugin writer guide Tasks section and review its existing structure before adding the requested "tasks waiting on tasks" section. Done means the guide explains why a task must not wait on another task, including the single-worker deadlock example described in this issue.

Written by the indexing model from the issue text.

Assessment

Domain
documentation
Issue type
Documentation
Difficulty
1/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.