>> The timeouts are per request. A client must send a distinct request
>> to retrieve a page, there is no overarching time limit for all of the
pages.

And the OPT_TIMEOUT value I am using with python-ldap would be applicable
to each separate request, right ?
I need not use the 'timeout' parameters from search() and result() APIs,
correct ?
The reason in my case the search was running for ~15 minutes would be that
client would be receiving some data in each individual request ?
Unfortunately I didn't collect the network trace to confirm this :(

The TIMELIMIT value won't help here


On Fri, 16 Apr, 2021, 8:52 PM Howard Chu, <[email protected]> wrote:

> varun mittal wrote:
> >>The timeout is a per-request timeout.  Isn't doing paged requests
> >> explicitly about making multiple requests, with possibly semi-arbitrary
> >> delays by the client between them, but each of which therefore gets its
> >> own shot at the timeout?
> >
> > That is what I struggling with to find some clear documentation on this.
> > Should the TIMEOUT value suffice, or I need to use TIMELIMIT with paged
> searching. Or use timeout values with search_ext() and result() APIs
> > There are multiple timeouts at different levels.
>
> Philip is correct. The timeouts are per request. A client must send a
> distinct request
> to retrieve a page, there is no overarching time limit for all of the
> pages.
> >
> > On Fri, Apr 16, 2021 at 3:52 AM Philip Guenther <
> [email protected] <mailto:[email protected]>> wrote:
> >
> >     The timeout is a per-request timeout.  Isn't doing paged requests
> >     explicitly about making multiple requests, with possibly
> semi-arbitrary
> >     delays by the client between them, but each of which therefore gets
> its
> >     own shot at the timeout?
> >
> >     Philip Guenther
> >
> >     On Thu, 15 Apr 2021, varun mittal wrote:
> >     > Any inputs on this one ?
> >     >
> >     > The client timeout parameter works for individual search page or
> the entire
> >     > time period of the search, if there are multiple pages ?
> >     >
> >     >
> >     > On Fri, Apr 2, 2021 at 2:07 PM varun mittal <[email protected]
> <mailto:[email protected]>> wrote:
> >     >
> >     > > I am using openldap-2.4.39 on CentOS 7, to query my AD server,
> with
> >     > > python-ldap wrapper
> >     > >
> >     > > I set the following scheme:
> >     > >
> >     > > ldap.set_option(ldap.OPT_NETWORK_TIMEOUT, 30)
> >     > > ldap.set_option(ldap.OPT_TIMEOUT, 120)
> >     > > conn = ldap.initialize(ldap://server-ip)
> >     > >
> >     > > Using 3 types of queries - synchronous search_s(), asynchronous
> with and
> >     > > without paging search_ext()
> >     > >
> >     > > I am not using any timeout in the _ext method or the result3()
> methods
> >     > >
> >     > > One of my python client LDAP searches(asynchronous with paging)
> took about
> >     > > 14 minutes to complete, in the customer environment. Eventually,
> the search
> >     > > was successful.
> >     > >
> >     > > Looking at the documentation, I am not sure which timeout value
> would be
> >     > > applicable here.
> >     > >
> >     > > I thought setting OPT_TIMEOUT should suffice for all kinds of
> searches.
> >     > >
> >     > > And the strange thing is that the similar query, but synchronous(
> >     > > ldap_search_ext_s) from my C client failed within 120 seconds.
> This is
> >     > > the default AD server timelimit. The C application didn't
> specify any
> >     > > timeouts
> >     > >
> >     > > What am I missing here?
> >     > >
> >     >
> >
>
>
> --
>   -- Howard Chu
>   CTO, Symas Corp.           http://www.symas.com
>   Director, Highland Sun     http://highlandsun.com/hyc/
>   Chief Architect, OpenLDAP  http://www.openldap.org/project/
>

Reply via email to