Jenkins handles a lot of download requests for core as well as plugins. So we rely on our mirrors to actually deliver bits.

Unfortunately, by the nature of our mirrors, there's some time lag between the time we stage our master copy of files (which gets created as a part of the update center metadata generation process) to the time mirrors pick up those files.

But as soon as bits are staged in the master copy, those URLs get advertised (download link from http://jenkins-ci.org/ and update center metadata.) Right now, download requests that happened during this window will result in 404.

What can we do to fix this? Does anyone have any thoughts?


We used to serve binaries from our master server in this situation without forwarding requests to mirrors, but this was the root cause why we ended up with the $5000 hole in our budget last year. So naturally I suspect Tyler will be afraid of enabling this again.

If someone is willing to be a mirror that allows us to push files, that'd be ideal, as we can ensure that there's always at least one mirror that has all the copies all the time. We can set the priority very low to make sure that it only gets used very rarely.

Another possibility is maybe to run some kind of bandwidth-restricted HTTP server. In that way, maybe we can convince ourselves that even in the worst case we won't go bankrupt.

The third possibility might be to buy a bigger disk to cabbage.jenkins-ci.org. My understanding is that this machine is in OSUOSL, so we can use it to serve bytes without worrying about incurring overcharge.


BTW, right now, we have about 58GB of data that needs to be mirrored.

--
Kohsuke Kawaguchi | CloudBees, Inc. | http://cloudbees.com/
Try Nectar, our professional version of Jenkins

Reply via email to