Skip to content

Overwriting existing packages in backend storage can lead to caching issues #5149

@mbearup

Description

@mbearup

If an existing package is re-added to pulp, the default behavior will overwrite the existing file in backing storage. This is typically fine.

  • If using Azure Blobstore, the timestamp of the blob is updated (Last-Modified time and ETag).
  • Conversely, some CDN's (notably Azure Front Door) use Last-Modified Time as a signal that a file in origin has updated.
  • This can lead to poor cache behavior, and in some cases, incomplete downloads as the CDN attempts to resolve disparate content.
  • If we set AZURE_OVERWRITE_FILES to false this partially mitigates the issue (Last-Modified/ETag are unmodified). However, this results in duplicate copies written to storage (with a suffix to differentiate from the original).
  • We should have an option that does "nothing" if the uploaded file already exists (don't overwrite, and don't write a new copy).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions