[glue-wg] When is data stale?

stephen.burke at stfc.ac.uk stephen.burke at stfc.ac.uk
Wed Mar 25 15:01:28 EDT 2015


glue-wg-bounces at ogf.org [mailto:glue-wg-bounces at ogf.org] On
> Behalf Of Paul Millar said:
> Prima facie, this is easy: simply add Entity.Validity to
> Entity.CreationTime.  If the resulting time is in the past then the
> object is stale.

Like many things I think it needs to be driven by the use cases in a particular environment. In EGI the BDII system isn't capable of providing especially fresh data, there are several propagation steps each of which can take several minutes. The EGI profile document suggests a 1 hour validity period for dynamic information, and that's what my info provider sets, as a compromise between allowing some tolerance for slow propagation against the desire to spot problems.  The glue validator implements the checks defined in the profile: warning if the creation stamp is more than 2 years old, error if CreationTime+Validity is in the past, and fatal if CreationTime+10*Validity is in the past. There's an extra wrinkle that the top BDII will cache data for a configurable time which defaults to four days.

> As the info-provider cannot know when the
> next request will come, it cannot set an Entity.Validity value.

I think that's the wrong way to look at it; the validity should be an estimate of how long the information can be reasonably trusted, irrespective of how the system updates. However, there would be little point in trying to publish information which is only reliable for a few seconds if the information system can't possibly transmit it that fast! Conversely you can obviously publish configuration information valid for weeks or months through a system which updates in minutes.

> Note that it is also possible (i.e., logically self-consistent) for the
> BDII to reset the Entity.CreationTime to the current time.  I suggest
> this isn't done as knowing the original creation time could be quite useful.

It would be incorrect, since it would not be the time at which the information was created. 

> The same procedure would happen for the higher levels: each one would
> calculate a (potentially new) Entity.Validity so that the object will
> not be valid after it anticipates fetching fresh data.  This calculated
> Entity.Validity would replace any that already exists in the supplied data.

I think this is just the wrong idea. The BDII does in fact supply information like update times if you want it (I forget the exact query to do that), but that isn't part of GLUE. The GLUE attributes refer to the creation and validity of the information content, and are the same whatever technology is used - translate them to XML or JSON and the values would be the same.

Stephen



More information about the glue-wg mailing list