Project

Profile

Help

Refactor #1013

closed

Reduce sync time spent processing metadata up-front

Added by mhrivnak over 9 years ago. Updated over 4 years ago.

Status:
CLOSED - WONTFIX
Priority:
High
Assignee:
-
Sprint/Milestone:
-
Start date:
Due date:
% Done:

0%

Estimated time:
Platform Release:
Groomed:
No
Sprint Candidate:
No
Tags:
Performance, Pulp 2
Sprint:
Quarter:

Description

The rpm sync workflow spends a lot of time early on parsing metadata (filelist.xml and other.xml) and writing it to disk in an indexed data structure. Actual downloading of files doesn't happen until afterward. This can take multiple minutes.

There are several options for improving this workflow.

  • start downloading before indexing is complete. This would require a new queue of completed downloads, and an additional thread that finishes processing and saving them once the indexing is complete.
  • Only index the rpms that will actually be downloaded. This would not help on the first sync (except in rare cases).
  • use the sqlite file (if available) to get this metadata instead of indexing the data ourselves. The downside here is we'd have to convert it to XML.
  • there may be other options

This refactor is to employ whatever improvements are reasonable to reduce the amount of time spent chewing on metadata before downloading starts.


Related issues

Related to RPM Support - Story #2567: As a user, I can quickly propogate one package change from one Pulp to another PulpCLOSED - WONTFIX

Actions
Blocked by RPM Support - Refactor #874: Convert pulp_rpm to use MongoEngine ModelsCLOSED - CURRENTRELEASEbmbouter

Actions

Also available in: Atom PDF