On Fri, 22 Feb 2013 05:12:20 -0800 (PST)
Fredrik Ekholdt <
fre...@gmail.com> wrote:
>
>
> On Friday, 22 February 2013 01:46:46 UTC+1, Mark Harrah wrote:
> >
> > On Thu, 21 Feb 2013 09:23:50 -0800 (PST)
> > Fredrik Ekholdt <
fre...@gmail.com <javascript:>> wrote:
> >
> > >
> > > Another question that comes up is how adept should download the actual
> > jars
> > > (or any other files that are not in the metadata)
> > > I am therefore assuming that only the metadata is downloaded for offline
> > > use not the actual jars. The reason I think this is fair to assume is
> > that
> > > downloading all jars would take to long and would be too error-prone.
> >
> > Agreed.
> >
> > > The key attributes for me would be that the files are always there to
> > > download (e.g. decentralized servers) and that you can download them
> > > quickly.
> > >
> > > Torrent have both of these properties,
> >
> > Can you explain what this would look like for someone who wants to publish
> > a project?
> >
> When you publish a project to another repository adept will push the
> metadata, the torrent file that was generated with the tracker you selected
> (e.g. the repository you are publishing to, or any other) and seed the
> torrent till the torrent has been shared with the central repository.
> When somebody pulls the repository they would download the torrent file. If
> they decide on downloading a jar, they would use the torrent to do so.
So you still need a central host to store all artifacts and be the seed? You also need people to leave a running adept instance to seed others, right?
A problem is that the torrent file might change because the tracker location might change. So, now there are files that change being located outside of the versioned metadata. Perhaps that is what you meant by not scaling for an offline repository.
> > Also, the dominant factor in torrent file size seems to be related to the
> > number of pieces. Each piece gets a 160 byte hash in the torrent file. 60
> > chunks gives a 10kB torrent file (for the 700 MB file, that's about a 10MB
> > chunk size). Even 1 kB for each piece of metadata just for the download
> > information seems like lot for a batch update approach.
> >
> Yeah, that is what I am worried about. The question whether this approach
> would work is related to the size of torrent files and the number you are
> likely to have. Do you know how many files there are in maven central for
> example?
I think there are something like 50k modules. At NEScala, I think someone mentioned that another community (non-Java) had published that many in much less time.
-Mark