You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Jonathan Wilbur (Jira)" <ji...@apache.org> on 2022/02/03 04:18:00 UTC
[jira] [Created] (DIRSTUDIO-1294) ADS queries all first-level DSEs one-by-one at the start of the session
Jonathan Wilbur created DIRSTUDIO-1294:
------------------------------------------
Summary: ADS queries all first-level DSEs one-by-one at the start of the session
Key: DIRSTUDIO-1294
URL: https://issues.apache.org/jira/browse/DIRSTUDIO-1294
Project: Directory Studio
Issue Type: Bug
Affects Versions: 2.0.0-M17
Environment: OS Name: Microsoft Windows 10 Pro
OS Version: 10.0.19044 N/A Build 19044
OS Manufacturer: Microsoft Corporation
OS Configuration: Standalone Workstation
OS Build Type: Multiprocessor Free
Registered Owner: Windows User
Registered Organization:
Product ID: 00330-80000-00000-AA967
Reporter: Jonathan Wilbur
I have an LDAP server that has many first-level DSEs. (One for each country.) When I connect / start a session / click on the "DIT Root," it takes about 30 seconds the application to display entries. When I look in the LDAP server's logs, I see that ADS:
* Makes a base-object-scoped request for the Root DSE.
* Makes a base-object-scoped request for the Root DSE's subschema subentry.
* Makes a one-level-scoped request for the Root DSE's subordinates.
* {color:#FF0000}Makes a single base-object-scoped request for each of the Root DSE's subordinates.{color}
The last bullet point is the problem, and from what I can see it is totally unnecessary: both the one-level search (bullet point 3) and the one-by-one base-object searches (bullet point 4) both request the same single attribute: `objectClass`.
This probably went unnoticed, because in most LDAP servers, there is just a single subordinate under the root, such as `DC=com` or `O=Acme, Inc.` or `C=US`, but in my case, I have several hundred. This means that, after querying all of these entries with the one-level search, it performs several hundred base-object searches for the same exact information again before the UI becomes responsive.
h3. Code Location
I believe this issue stems from this section of code within {{{}plugins\ldapbrowser.core\src\main\java\org\apache\directory\studio\ldapbrowser\core\jobs\InitializeRootDSERunnable.java{}}}:
{{ for ( IEntry entry : rootDseEntries.values() )}}
{{ {}}
{{ initBaseEntry( entry, dummyMonitor );}}
{{ }}}
I am currently experimenting with commenting out this section of the code, and it didn't seem to work, but I am not really sure that I actually fully rebuilt the application, and I also get the impression that there are actually two code locations that do this, but I have yet to confirm this.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@directory.apache.org
For additional commands, e-mail: dev-help@directory.apache.org