[OAI-implementers] Lists/Flow-control/Emptiness

Walter Underwood wunder@inktomi.com
Mon, 22 Jul 2002 11:20:31 -0700

--On Tuesday, July 16, 2002 06:58:35 PM -0400 "Michael L. Nelson" <mln@ruby.ils.unc.edu> wrote:
> yes, that could be the case.  of course, this condition was always present
> -- even 1.1, if a harvester recvd a resumptionToken, and if it got an
> empty list when it used that resumptionToken, then something funny
> happened at the repository didn't it?  the fact that this condition was
> prevoiusly more slightly obscured doesn't remove the danger.

Many search engines can do exactly this, return no elements for the
last chunk. Calculating the exact number of hits can be quite expensive,
so they may over or underestimate the number of elements which will
should be returned.

Effectively, the results are an indefinite-length list, and the true
length isn't known until the whole list is read. This is because some
elements may be marked for deletion, but not actually removed until
a later cleanup. It is cheap to return the length of the list, but
expensive to walk the whole list and count only the non-deleted items.

Walter Underwood
Senior Staff Engineer, Inktomi