Comment 21 for bug 407834

Revision history for this message
Kristian Nielsen (knielsen) wrote :

The branching of lp:maria succeeded. Took 34 hours at 98% cpu usage and using just over 2Gbyte of memory.

Branching from the converted format 2a shared repo into another format 2a shared repo seems to still take lots of resources: 12 minutes at 100% cpu and using >1Gbyte of memory. But nowhere near the format conversion resource usage.

Doing a branch/checkout inside the converted format 2a repo is significantly faster and uses significantly less memory than was the case with the earlier formats. So that's good. The repo size is also significantly (3-4 times) smaller.

Ok, so I think at the root of these problems are these two issues:

1. When branching into a format 2a shared repo from an earlier format branch, bzr has to convert the revisions. This is quite painful for a repo of the size of MySQL/MariaDB (for a say 5x bigger repo it would hardly be feasible).

2. The basic usage of just installing bzr 2 and running `bzr init-repo . ; bzr branch lp:maria` will by default initiate such conversion, which will cause problems until we convert main repos to 2a.

It would obviously be really nice if the format conversion could be improved an order of magnitude in terms of cpu and memory usage. But I guess that might be too much to hope for.

Failing that, I guess we need to document this issue clearly, and then as soon as feasible convert all of our repositories to the new 2a format once and for all to avoid this problem in the future and reap the efficiency benefits of the new format.

Once we convert, it might also make sense to make tarballs of a pre-initialised shared repo available for machines with too little memory to do the initial branching themselves.