Test #4465

Lazy sync does not create additional RemoteArtifact objects

Added by bherring over 1 year ago. Updated 6 months ago.

Platform Release:


Say you sync a repo with Remote.policy=on_demand and you get unit foo but no Artifact.

Now you sync a different repo w/ a different remote with Remote.policy=on_demand and that repo also contains unit foo. During this second sync the stages API will recognize the unit is already in Pulp and will not create it. It will also not create a RemoteArtifact. It will associate the existing unit foo with the new repo version.

Now delete the first Remote, which will delete all RemoteArtifact objects.

Now a user goes to fetch foo from the second repo. The user will receive a 404 from the content app because when it find the ContentArtifact, and no Artifact to serve it will not find a RemoteArtifact like it should. Thus the content app can only 404.

I expect since there is still a Remote that can remotely fetch that Artifact that if should be fetched.

Overall I think every sync needs to ensure that in the case where a Content unit is already know to Pulp that the Stages pipeline will still create a RemoteArtifact object where today it does not.


1. have the RemoteArtifact codepath be created even if the ContentUnit exists. (currently it doesn't run at all if .pk != None)
2. Have RemoteArtifact switch to bulk_get_or_create() to handle the IntegrityErrors.

Related issues

Copied from Pulp - Issue #4246: Lazy sync does not create additional RemoteArtifact objectsCLOSED - CURRENTRELEASE<a title="Actions" class="icon-only icon-actions js-contextmenu" href="#">Actions</a>


#1 Updated by bherring over 1 year ago

  • Copied from Issue #4246: Lazy sync does not create additional RemoteArtifact objects added

#2 Updated by bherring over 1 year ago

Triage Notes

  • re-try by trying the first remote ;
  • COULD be related to #4289

#3 Updated by daviddavis over 1 year ago

  • Tags deleted (Pulp 3 RC Blocker)

#4 Updated by bmbouter over 1 year ago

  • Tags deleted (Pulp 3)

#5 Updated by Milesmsksth 6 months ago

Thank you so much for this. I was into this issue and tired to tinker around to check if its possible but couldnt get it done. Now that i have seen the way you did it, thanks guys with regards

Please register to edit this issue

Also available in: Atom PDF