Actions
Story #9148
closedTask #9256: [EPIC] Use shared task resources in plugin code
As a plugin writer i want to be able to share task resources for reading
Start date:
Due date:
% Done:
100%
Estimated time:
Platform Release:
Groomed:
No
Sprint Candidate:
No
Tags:
Performance
Sprint:
Sprint 103
Quarter:
Description
The tasking system should be able to allow resources to be shared between tasks if only read access is requested.
The following design should allow to implement this without a migration and in a backwards compatible way:
- reuse the reserved_resources_record ListField shared resources will be prefixed by "shared:" exclusive resources will be used as is
- dispatch will add another parameter "shared_resources" in a backwards compatible way
- workers will augment the list of in_use_resources with a flag if any previous task requested a resource exclusive
Note: shared access that was scheduled after exclusive access still needs to wait. That is, one task requesting exclusive access to a resource will introduce a barrier for all other tasks requesting the same resource in any way.
https://hackmd.io/Y0l9nBm9SFmPiIBXBz8lwQ?view#Idea-Example-with-shared-and-exclusive-locks
Related issues
Updated by mdellweg over 3 years ago
- Status changed from NEW to ASSIGNED
- Assignee set to mdellweg
Updated by pulpbot over 3 years ago
- Status changed from ASSIGNED to POST
Updated by dalley over 3 years ago
- Sprint/Milestone set to 3.15.0
- Sprint set to Sprint 103
Updated by pulpbot over 3 years ago
Added by mdellweg over 3 years ago
Updated by mdellweg over 3 years ago
- Status changed from POST to MODIFIED
- % Done changed from 0 to 100
Applied in changeset pulpcore|66744406b7b2f991a6137ca8d9ec8798a91274b2.
Updated by ttereshc over 3 years ago
- Related to Story #9255: As a user, copy tasks which have the same source repos are run in parallel added
Updated by pulpbot about 3 years ago
- Status changed from MODIFIED to CLOSED - CURRENTRELEASE
Actions
Add shared_resources to task dispatch
This allows tasks that use overlapping resources read only to run concurrently. A setting ALLOW_SHARED_TASK_RESOURCES has been added to switch it on.
fixes #9148