Re: [thredds] TDS initialization

On 1/3/2011 10:53 AM, Roland Schweitzer wrote:
Hi,

We're starting to put together some "big" server-side configuration catalogs (both with "lots" of dataset elements and "lots" of catalogRef elements). We are wondering about the process TDS goes through to read the catalog when is starts. What gets cached? Does it have a way to know a referenced catalog is unchanged? When do referenced catalogs get scanned? And so on.

Is there some documentation or a flow chart on how TDS initializes itself?

Thanks,
Roland

_______________________________________________
thredds mailing list
thredds@xxxxxxxxxxxxxxxx
For list information or to unsubscribe, visit: http://www.unidata.ucar.edu/mailing_lists/

Hi Roland:

The sad answer is theres not much documentation. Weve been on the verge of redoing the initialization sequence for a few years now, so weve been waiting so we can document the clean, cool refactor instead of the crufty, lame current one.

Anyway, the TDS reads in all the config catalogs at startup. It caches all of them, and uses the "expires" attribute on the catalog to decide if/when it needs to reread a catalog. It needs to read all catalogs, including catalogRef, because it has to know what the possible dataset URLs are, and there is no contract that a client has to read a catalog first.

Obviously this doesnt scale forever. Ethan can probably fill in some details.

see:
http://www.unidata.ucar.edu/projects/THREDDS/tech/catalog/v1.0.2/InvCatalogSpec.html#catalog

John