Greetings,
We're planning a substantial disk capacity increase this quarter by
adding a new disk array for the
download.eclipse.org/archive.eclipse.org files, and to store the
build.eclipse.org/CommonBuild working directories.
With this upgrade, our ability to freeze the download.eclipse.org
content will no longer be. We currently use rsync to mirror the
download files from one server to another, but with our large downloads
tree, this technique is not only inefficient, but it has a performance
impact on everything else.
For major releases such as Galileo, we will need to substitute our
usual content freeze by simply not publishing links to newly uploaded
files for some time. For most projects, this is simply a matter of
delaying a page commit for 24 hours, letting the new files sit silently
while no links are published. However, some projects use PHP to
dynamically read the directory structure and show links for files the
minute they appear. This is problematic, and this is the reason we
started doing freezes in the first place.
If your project's download page reads the directory structure, you will
need to discontinue this approach. Here are two proposed
alternatives, in the order of my preference:
1. Keep your current 'dynamic' PHP page, but use it to generate a
static HTML version of the download page every X hours via a cronjob.
The static HTML version of your page becomes your main download page.
The added bonus is each hit to your (static) downloads page no longer
generates multiple disk accesses for reading directory structures.
2. You alter your current PHP page to examine the date/time of the
files, and only display files older than X hours. The problem here is
that your page is still wastefully inspecting directory contents for
each hit. Furthermore, if the date/time of a file is mangled somehow
(for instance, you upload with rsync -t to preserve times), the files
on download.eclipse.org may appear to be older than they are.
Option 1 is not only superior, but it's also likely the one that will
require less work. It could be as easy as a) rename index.php to
something.php b) add 'wget' cronjob to dump the HTML output of
something.php to index.php c) carry on normal activities.
We don't yet have a definitive date for the upgrade, but we're
expecting it to happen on a weekend before the end of March. As
always, if your download pages need to be fixed, we're here to help you
find a solution to make this work. Feel free to open a bug and CC
webmaster@xxxxxxxxxxx.
Thanks,
Denis
|