Gentoo Archives: gentoo-dev

From: Ian Stakenvicius <axs@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Using emerge-webrsync to simplify the handbook
Date: Fri, 30 Nov 2012 17:00:21
Message-Id: 50B8E5FD.2080502@gentoo.org
In Reply to: Re: [gentoo-dev] Using emerge-webrsync to simplify the handbook by Michael Mol
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA256
3
4 On 30/11/12 11:15 AM, Michael Mol wrote:
5 > On Fri, Nov 30, 2012 at 10:57 AM, Richard Yao <ryao@g.o>
6 > wrote:
7 >> On 11/28/2012 11:08 AM, Matthew Thode wrote:
8 >>> On 11/28/2012 09:05 AM, Richard Yao wrote:
9 >>>> On 11/28/2012 09:17 AM, Maxim Kammerer wrote:
10 >>>>> On Wed, Nov 28, 2012 at 3:54 PM, Richard Yao
11 >>>>> <ryao@g.o> wrote:
12 >>>>>> We could slightly simplify the handbook installation
13 >>>>>> procedure if we told people to use emerge-webrsync to
14 >>>>>> fetch the initial snapshot.
15 >>>>>
16 >>>>> Using emerge-webrsync also makes the installation process
17 >>>>> more robust, since it only requires HTTP access (whereas
18 >>>>> many firewalls restrict RSYNC). Besides, emerge-webrsync
19 >>>>> can check PGP signatures, so I think that it should be the
20 >>>>> primary recommended portage tree synchronization method.
21 >>>>>
22 >>>>
23 >>>> The only downside of which I am aware is increased network
24 >>>> traffic. However, we could redesign emerge-webrsync to take
25 >>>> advantage of GNU Tar's incremental archive functionality.
26 >>>>
27 >>>> That would permit us to mirror compressed diffs in addition
28 >>>> to regular portage snapshots. Doing that well could reduce
29 >>>> bandwidth requirements.
30 >>>>
31 >>> weekly fulls and daily diffs?
32 >>>
33 >>
34 >> Determining what is right here probably requires calculus, but
35 >> this scheme does not seem like a bad choice to me. My main
36 >> concern is that maintaining weekly full snapshots would require
37 >> too much space for the mirrors. It might be better go monthly,
38 >> with diffs on the following intervals:
39 >>
40 >> 1 week 1 day 30 minutes
41 >>
42 >> Doing that would eliminate the benefit of rsync entirely, with
43 >> the caveat that we now need to mirror a ton of diffs. This would
44 >> make it easy for us to provide the ability to obtain historical
45 >> snapshots, which would be nice.
46 >
47 > Worth noting that all this moves us nicely in the direction of
48 > allowing HTTP proxies to cache data, reducing load on mirrors. And
49 > moves us in the direction of implementing mirrors themselves as a
50 > network of caching proxies.
51 >
52
53 Idea makes sense, I wonder if implementation would be better served by
54 leveraging the fact that we already produce daily full snapshots:
55
56 1 - continue to provide the daily snapshots we do now
57 2 - provide two weeks (more?) of daily diffs, such that a daily
58 snapshot from up to two weeks ago can be updated to present day
59 3 - provide hourly or 30-minute update diffs to get latest changes.
60
61 If the tree is more than two weeks old, emerge-webrsync would just
62 grab the latest daily plus the hourly diffs.
63
64 If the tree is less than two weeks old, grab the daily diffs and
65 hourly diffs. The local copy of the tree itself would need to be
66 rolled back to the best-available daily diff before these diff updates
67 could be applied; this may mean that a local cache of the latest
68 full-day snapshot needs to be kept and/or generated. Also if said
69 cache doesn't exist, then the whole full-day snapshot would be grabbed.
70
71 The advantage to this would be significantly fewer distfiles, although
72 the logic in emerge-webrsync would possibly be more complex.
73
74 Regarding rolling back the local tree to a known-good state, I think
75 that would be required regardless of the method as any local changes
76 made to the tree by users would need to be discarded, right?
77
78 -----BEGIN PGP SIGNATURE-----
79 Version: GnuPG v2.0.19 (GNU/Linux)
80
81 iF4EAREIAAYFAlC45f0ACgkQ2ugaI38ACPChKgD9GOBptQ9jJ1/eYyq1NEl5Oq1E
82 dVy9UOab80bG5FZB9LwBAKwsifnT+iE3n/4d/ljnuT2qCnbtXNYr7yBjF/VcEpkq
83 =y9eB
84 -----END PGP SIGNATURE-----

Replies

Subject Author
Re: [gentoo-dev] Using emerge-webrsync to simplify the handbook Alec Warner <antarus@g.o>