git object sharing is suboptimal in Launchpad
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
New
|
Undecided
|
Unassigned | ||
git-ubuntu |
Fix Released
|
High
|
Nish Aravamudan |
Bug Description
If the git importer pushes to lp:~IMPORTER/ubuntu/+source/package, and an uploader subsequently pushes to lp:~UPLOADER/ubuntu/+source/package, these two repositories will not share the underlying storage.
This means that:
1) Launchpad's storage needs for git-based workflows will explode as more uploaders start using the system.
2) Uploaders won't get their upload bandwidth optimised when they push.
This isn't a hard blocker for progress, but we should fix it before many people start using the new git workflow, as there isn't a particularly reasonable way to fix object sharing on existing repositories.
Background: https:/
I understand that the Launchpad team doesn't currently expect to have the resources to implement this; the team working on the importer will need to supply the code.
Related branches
- Robie Basak: Approve
- Server Team CI bot: Approve (continuous-integration)
-
Diff: 1613 lines (+1122/-290)10 files modifieddev/null (+0/-199)
gitubuntu/importer.py (+3/-50)
gitubuntu/source-package-blacklist.txt (+7/-0)
gitubuntu/source-package-whitelist.txt (+0/-7)
gitubuntu/source_information.py (+2/-16)
man/man1/git-ubuntu-import.1 (+2/-18)
scripts/import-source-packages.py (+377/-0)
scripts/scriptutils.py (+191/-0)
scripts/source-package-walker.py (+272/-0)
scripts/update-repository-alias.py (+268/-0)
summary: |
- git object sharing is suboptimal + git object sharing is suboptimal in Launchpad |
Changed in usd-importer: | |
status: | New → Triaged |
importance: | Undecided → High |
Changed in usd-importer: | |
milestone: | none → 1.0 |
Changed in usd-importer: | |
assignee: | nobody → Robie Basak (racb) |
Changed in usd-importer: | |
assignee: | Robie Basak (racb) → Nish Aravamudan (nacc) |
Changed in usd-importer: | |
status: | Triaged → In Progress |
Changed in usd-importer: | |
status: | In Progress → Fix Released |
IMO this is only a problem because we haven't yet taken a project-wide decision to bless the importer branches as the default repositories for their corresponding source packages (i.e. lp:ubuntu/+source/PACKAGE). Once that happens, object sharing will automatically be set up for newly-pushed repositories.