Project

Profile

Help

Story #4708

closed

Improve performance of publishing files with iso_distributor via the way of fast-forward

Added by Zhiming over 5 years ago. Updated over 5 years ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
Normal
Assignee:
Category:
-
Sprint/Milestone:
Start date:
Due date:
% Done:

0%

Estimated time:
Platform Release:
2.20.0
Groomed:
Yes
Sprint Candidate:
No
Tags:
Pulp 2
Sprint:
Sprint 53
Quarter:

Description

Improve performance of publishing with iso_distributor via the way of fast-forward

This function, which is used to publishing a repo with iso_distributor, takes around 35 minutes (there are ~88k units in the repository)

The old implementation would generate symlinks for all units in the repository then copy to target published directories. If there are huge mount of units in the repository, the publish would be pretty slow due to those file operations.

Actually, just a few files are added/changed before every publish. So if just generate symlinks for those incremental or changed files, the publish will get faster.

On our installation, for a repo with 71K, this reduced the runtime of this publish from ~23 minutes to ~30 seconds.


Related issues

Related to RPM Support - Issue #4857: Pulp 2 Nightly Regression in test_iso_crud.ISOUpdateTestCase.test_allCLOSED - DUPLICATEActions
Actions #3

Updated by ttereshc over 5 years ago

  • Status changed from NEW to POST
Actions #4

Updated by amacdona@redhat.com over 5 years ago

  • Triaged changed from No to Yes

Added by Zhiming over 5 years ago

Revision f6685faf | View on GitHub

Improve performance of publish with iso_distributor via fast-forward

Only symlinks for those incremental or changed files are generated and copied to target directories, then the publish gets faster.

ref #4708 https://pulp.plan.io/issues/4708

update unit test because os.makedirs is now called conditionally

add missing parameters

Actions #5

Updated by ipanova@redhat.com over 5 years ago

  • Status changed from POST to MODIFIED
Actions #7

Updated by ttereshc over 5 years ago

  • Tracker changed from Issue to Story
  • Assignee set to Zhiming
  • % Done set to 0
  • Groomed changed from No to Yes
  • Sprint set to Sprint 53
Actions #8

Updated by ttereshc over 5 years ago

  • Related to Issue #4857: Pulp 2 Nightly Regression in test_iso_crud.ISOUpdateTestCase.test_all added
Actions #9

Updated by ttereshc over 5 years ago

  • Platform Release set to 2.20.0
Actions #10

Updated by ttereshc over 5 years ago

  • Sprint/Milestone set to 2.20.0
Actions #11

Updated by ttereshc over 5 years ago

  • Status changed from MODIFIED to 5
Actions #12

Updated by ttereshc over 5 years ago

  • Status changed from 5 to CLOSED - CURRENTRELEASE

Also available in: Atom PDF