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