[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: limits on internal searches
Quanah Gibson-Mount wrote:
--On Saturday, June 19, 2004 4:59 PM +0200 Pierangelo Masarati
<ando@sys-net.it> wrote:
I've run into a problem with test017 which is currently failing for HEAD
after I added some consistency checks on the values of search limits.
I'm about to fix it, but I found out that some syncrepl code is checking
search limits before running internal searches. Is it intended? I
mean,
is there any reason the identity that performs an internal search
needs to
check if any limits are set? In that case, I strongly suggest any time
limits
are checked, an appropriate value is provided to fields op->ors_tlimit
and op->ors_slimit. By protocol, these fields can only have values
>= 0,
so if theey're set to SLAP_NO_LIMIT (= -1) it means they're being used
in an internal search that requirs no limitations. Otherwise, please
set
them to 0 (no specific limit required, incurring in soft limits if any)
or to a positive value (e.g. 1 is used for auth{cz} related internal
searches
because strictly one value is required.
My experimentation with syncRepl indicates that it *must* have
unlimited search capabilities, since it needs to be able to examine
every entry in the database.
Actually, in syncrepl_del_nonpresent() requested limits were explicitly
set to 0,
which mens no limit is requested and thus could incur in all limitations;
in syncrepl_entry() nothing is being set; this was causing the problem.
I would no doubt set them to unlimited, but the point is that both
internal searches
are being prtected behind a call to limits_check(), which enforces those
limits
that might be present for the identity that is performing the internal
search.
That's why I'm asking if there's a good reason to check those limits, or
if they
should be ignored, and requested limits be simply set to SLAP_NO_LIMIT
like most privileged internal searches...
p.
SysNet - via Dossi,8 27100 Pavia Tel: +390382573859 Fax: +390382476497