Project

Profile

Help

Story #9148

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 about 2 months ago. Updated 14 days 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 - CURRENTRELEASE

<a title="Actions" class="icon-only icon-actions js-contextmenu" href="#">Actions</a>

Associated revisions

Revision 66744406 View on GitHub
Added by mdellweg 28 days ago

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

History

#1 Updated by ipanova@redhat.com about 2 months ago

  • Description updated (diff)

#3 Updated by mdellweg about 2 months ago

  • Status changed from NEW to ASSIGNED
  • Assignee set to mdellweg

#4 Updated by pulpbot about 2 months ago

  • Status changed from ASSIGNED to POST

#5 Updated by dalley 30 days ago

  • Sprint/Milestone set to 3.15.0
  • Sprint set to Sprint 103

#7 Updated by mdellweg 28 days ago

  • Status changed from POST to MODIFIED
  • % Done changed from 0 to 100

#8 Updated by ttereshc 28 days ago

  • Related to Story #9255: As a user, copy tasks which have the same source repos are run in parallel added

#9 Updated by mdellweg 28 days ago

  • Parent task set to #9256

#10 Updated by pulpbot 21 days ago

  • Status changed from MODIFIED to CLOSED - CURRENTRELEASE

Please register to edit this issue

Also available in: Atom PDF