after conversion chk formats are badly packed
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Fix Released
|
Critical
|
Unassigned | ||
Bazaar Git Plugin |
Fix Released
|
Undecided
|
Jelmer Vernooij | ||
Bazaar Subversion Plugin |
Fix Released
|
Undecided
|
Jelmer Vernooij |
Bug Description
When brisbane-core formats are written into by conversion operations, many chk pages can be created in separate (and therefor not-compressed) operations. This can be fixe by doing a partial pack of the new data after the operation completes.
Some samples we have are bzr pulls going up to 3GB (pack takes it to 33MB), pulls from bzr-svn going up to 11GB (in 2 packs, pack takes it down to 11MB) and so on.
As we can be sure of the circumstances this is a case where doing a partial pack and removing the files we wrote in the original transaction rather than keeping them in obsolete_packs would be a good idea.
InterDifferingS
Related branches
Changed in bzr: | |
milestone: | none → 2.0 |
description: | updated |
Changed in bzr: | |
milestone: | 2.0 → 1.17 |
status: | Triaged → Fix Released |
Changed in bzr-git: | |
assignee: | nobody → Jelmer Vernooij (jelmer) |
Changed in bzr-svn: | |
assignee: | nobody → Jelmer Vernooij (jelmer) |
I just did a conversion of bzr.dev, and after conversion it isn't particularly terrible. I believe the converted size was 65MB, and post-pack was 32MB. So about 2:1...
While that is bad, it isn't 1.7GiB => 150MiB that we saw with a different project. Which leads me to believe that the 1.7GiB conversion wasn't being done with InterDifferingS erializer, but was instead done via the plain fetch...
Just a thought, though.