[OAI-implementers] handling unavailable data

Simeon Warner simeon@lanl.gov
Thu, 29 Mar 2001 10:51:37 -0700 (MST)


I agree with Hussein. Empty lists would be a bad way to go since,
depending on the request, an empty response would be interpreted
as deletion of records.

Hussein's suggestion of exponential back-off (to some bound based on your
estimate of likely outage times) seems like a good suggestion.

--
Simeon


On Thu, 29 Mar 2001, Hussein Suleman wrote:
> hi
> 
> i would think returning empty lists is not a good idea because the
> service provider could make long-term assumptions based on that - in the
> case of ListMetadataFormats that there are none.
> 
> my suggestion would be to use HTTP error codes to indicate that the
> server cannot respond because of some internal problem ... for example,
> you could use "503 Service unavailable" and possibly return a
> "retry-after" time, which supports  automatic harvesters quite nicely
> (even the repository explorer will honor those) ... for completeness, if
> you want a really solid interface, you might consider using some flavor
> of upper-bounded exponential backoff so that the retry-after times
> follow a 1,2,4,8,...,r sequence for subsequent requests while the
> database is unavailable.
> 
> hope this helps ...
> 
> ttfn
> ----hussein
> 
> Ben Henley wrote:
> > 
> >         I am currently implementing a simple OAI repository.
> >         I've looked through the specs but I can't find the answer to this
> > question:
> > 
> >         What is the recommended behaviour if data is temporarily
> > unavailable?
> >         For example, suppose I have the information about supported metadata
> > formats stored in an SQL accessible database table. An OAI agent makes a
> > request to my repository but the database is unavailable for some reason.
> >         In the reference implementation I've looked at (the ASP one), a
> > partial answer could be returned. ie. <ListMetadataFormats>, <responseDate>
> > and <requestURL> elements would be sent but not <metadataFormat>. As I
> > understand http://www.openarchives.org/OAI/1.0/OAI_ListMetadataFormats.xsd,
> > the metadataFormat element is not compulsory (minOccurs=0).
> >         So a failure to retrieve any records could cause the repository to
> > lie by omission and say that it has no metadataFormats.
> >         Obviously the same could apply for other requests.
> > 
> >         Is this a real problem? If data is not available, should a request
> > be ignored or is there a special message to return? Or is it assumed that
> > clients will revisit archives so rare failures like this will be forgotten?
> > 
> > 
> > 
> > Ben Henley <mailto:ben@biomedcentral.com>
> > Special Projects Editor
> > BioMed Central
> > http://www.biomedcentral.com
> > 
> > _______________________________________________
> > OAI-implementers mailing list
> > OAI-implementers@oaisrv.nsdl.cornell.edu
> > http://oaisrv.nsdl.cornell.edu/mailman/listinfo/oai-implementers
> 
> -- 
> ========================================================================
> hussein suleman -- hussein@vt.edu -- vtcs -- http://purl.org/net/hussein
> ========================================================================
> _______________________________________________
> OAI-implementers mailing list
> OAI-implementers@oaisrv.nsdl.cornell.edu
> http://oaisrv.nsdl.cornell.edu/mailman/listinfo/oai-implementers
>