On Mon, Nov 24, 2014 at 4:32 PM, Julian Foad <julianfoad_at_btopenworld.com>
> Stefan Fuhrmann wrote:
> > I'm in favour of phasing linear repos out. We still have to support
> > them but forgetting to check for shard size 0 is more likely to
> > happen for new code than existing code.I also tend to issuing
> > a warning or even failure when trying to upgrade a linear repos. [...]
> Can we feasibly convert an unsharded repo to sharded during an upgrade?
Yes, that would be feasible. OTOH, there is already
> I think the current upgrade takes O(1) time,
Well for packed repos, the upgrade from f4 to f6 or
f7 already is O(N) because the revprops get packed.
> and sharding would take at least Order(N) time (N = number of revs) to
> move each rev file into a shard directory, and possibly much higher order
> if there are disk file systems that have slow 'move' performance (given
> that the original directory might have a very large number of rev files in
> it), but it might be acceptable given that in those cases the performance
> of adding new revs was probably degrading for the same reason.
I guess the most tricky part will be recovery from
a failed upgrade. Given that active linear repos
that people want to upgrade should be rare by now,
I think simply directing them to the reshard script is
acceptable and clearly the lower risk option.
Received on 2014-11-24 18:40:59 CET