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----- |