Project

Profile

Help

Story #9148

closed

Task #9256: [EPIC] Use shared task resources in plugin code

As a plugin writer i want to be able to share task resources for reading

Added by mdellweg over 3 years ago. Updated about 3 years ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
Normal
Assignee:
Category:
-
Sprint/Milestone:
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

Related to RPM Support - Story #9255: As a user, copy tasks which have the same source repos are run in parallelCLOSED - CURRENTRELEASEdalley

Actions

Also available in: Atom PDF