lists.arthurdejong.org
RSS feed

[nssldap] Connecting to servers that do not support Simple Page Requests

[Date Prev][Date Next] [Thread Prev][Thread Next]

[nssldap] Connecting to servers that do not support Simple Page Requests



In commissioning an environment based on the Sun One directory server it has 
become obvious that there is a potential problem with large 'maps' in the 
current nss_ldap implementation. The Sun One server does not support Simple 
Page Requests and therefore the paging feature inside nss_ldap is effectively 
disabled. The effect of this is that the request to the server to provide data 
in paged format is ignored (nss_ldap does not mark this as a critical extension 
in the query) and the data is returned in one blob as fast as the server can 
generate it. While the conversation works this means that the client has no 
means to manage the load on the server and relies on the network back pressure 
to manage data delivery.
 
The Sun One server does support the VLV (Virtual List View) extension which can 
be used for a similar purpose.
 
I propose to add this to the nss_ldap core so that the code queries the Root 
DSE for Supported Controls and uses Simple Page Requests (SPR) if they are 
supported, will fail over to VLV controls if they are supported and suppress 
any paging request if neither is supported.
 
I have 3 questions that I would like to get some advice on:

1.      
        Does anybody know of any server that does not report the Supported 
Controls in the Root DSE.
2.      
        Are there any mainstream servers that do not support one or the other 
of these 2 controls.
3.      
        Should I make the order of preference of VLV and SPR configurable in 
the ldap.conf file - this is complicated if the back end servers that the 
library can connect to are of different pedigree and therefore the availability 
of the requisite control is dependent on which server is used for which query.

The implementation of the addition of this control should be easy, but it does 
mean adding logic to the connection code to detect support controls everytime 
the library connects to a server (we cannot assume that all servers the library 
uses in a failure tolerant environment have the same facilities available) A 
additional round trip load on the servers.

Thoughts and comments welcomed.

 
Coherent Technology Limited, 23 Northampton Square, Finsbury, London EC1V 0HL, 
United Kingdom
Telephone: +44 20 3355 6467 Mobile: +44 7980 639379
Company Email: coherent@cohtech.com Website: http://www.cohtech.com 
<http://www.cohtech.com/>