distfiles/Attic
Andrzej Krzysztofowicz
ankry w green.mif.pg.gda.pl
Wto, 30 Gru 2003, 02:13:08 CET
Jan Rekorajski wrote:
> On Tue, 30 Dec 2003, Andrzej Krzysztofowicz wrote:
>
> > Jan Rekorajski wrote:
> > > Czas chyba najwyzszy zrobic jakis Attic w distfiles - pomoze to takim
> > > jak ja ktorzy rsyncuja distfiles a nie zalezy im na trzymaniu zabytkow.
> > > Moja propozycja jest nastepujaca:
> > >
> > > serwer:
> > > - skrypt obslugujacy distfiles jesli zobaczy ze zmienilo sie Source-md5
> > > bierze stary katalog i przerzuca go do Attic (struktura katalogow
> > > bylaby taka sama jak w / - by-md5/{...})
> >
> > Gdzie ? Tylko na HEAD ? A co z branczami ?
>
> Na wszystkim, po cvs status foo.spec sprawdzac rev i brac poprzednie do
> diffa.
>
> > Na wielu branczach moze byc plik, ktory jest/byl na HEAD i niekoniecznie
> > nalezy go od razu wyrzucac.
>
> mv != rm
>
> > Pominalem tu taki "drobiazg", ze ten sam plik moze wystepowac w wielu
> > specach i na ogol zmiana wersji nie odbywa sie synchronicznie.
>
> Tego nie przeskoczysz niczym, niestety.
Dlatego jest to glowny minus tego pomyslu.
Mozna go obesc "czarna lista" z regexpami.
> > > klient:
> > > - builder jesli nie znajdzie pliku w distfiles patrzy do disfiles/Attic
> >
> > Dodatkowe polaczenie: niepotrzebna komplikacja.
> > Zwlaszcza jak ktos ciagnie wiele plikow...
> > Nawiazanie polaczenia jest duzo wolniejsze niz sama transmisja.
>
> W przypadku distfiles jest czas nawiazania polaczenia jest pomijalny -
> tam sa duze pliki (do drobiazgu mamy cvs).
Dla tych, co maja szybkie lacze - nie jest.
U mnie w pracy czesto czas nawiazania polaczenia wynosi kilka sekund.
A czas transmisji jest tego samego rzedu.
> > > Calosc jest banalnie prosta, nie trzeba recznie nic kasowac/przenosic -
> > > wszystko robilaby skryptologia. Za to przy mirrorowaniu distfiles
> > > wystarczy podac jeden --exclude Attic zamiast listy >6000 plikow ;)
> > >
> > > Czesc kliencka zaraz zrobie - nic to nie zepsuje a bedzie. Niestety na
> > > czesc serwerowa jestem za cienki w perlu - a lepiej zebym nic nie
> > > rozwalil. Jakas dobra dusza?
> >
> > Wydaje mi sie, ze mozna to rozwiazac inaczej. Zrobic 2 drzewka:
> > - podstawowe zawierajace wszystko,
> > - dodatkowe zawierajace tylko strukture katalogow + _twarde_ dowiazania
> > do plikow z pierwszego drzewka - to drzewko nalezaloby rsyncowac.
> >
> > Koszt jest niewielki. Max. ~ (liczba roznych md5) x 4 kB, zalezny od fs-u
> > (na reiserze i/lub blocksize=2kB powinien byc mniejszy).
> > Obecnie: 16140 x 4 kB ~= 65MB.
> > Niewiele wobec 20.5 GB obecnie zajmowanych przez distfiles.
> >
> > Sposob zarzadzania moze byc taki jak zasugerowales lub skryptem z crona
> > wyciagajacym co jakis czas z cvs-u liste wszystkich md5 na "wierzcholkach"
> > wszystkich nazwanych branchy.
> >
> > Zaleta: nie wymaga _zadnych_ zmian po stronie klienta.
> >
> > Comments ?
>
> Tez dobre.
> Szczerze to mnie zalezy na tym zeby ten Attic _byl_, a jak bedzie
> wygladal od strony technicznej to juz sprawa magikow perlowych jak jest
> to wygodniej zaimplementowac :)
--
=======================================================================
Andrzej M. Krzysztofowicz ankry w mif.pg.gda.pl
phone (48)(58) 347 14 61
Faculty of Applied Phys. & Math., Gdansk University of Technology
Więcej informacji o liście dyskusyjnej pld-devel-pl