[ 
https://issues.apache.org/jira/browse/DIRSTUDIO-1294?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17487367#comment-17487367
 ] 

Jonathan Wilbur commented on DIRSTUDIO-1294:
--------------------------------------------

I tried commenting this out and it did not actually work when I first connect, 
but it _does_ work when my connection times out and I reconnect. I am not a 
Java developer by trade, so I'm kind of at the limits of my talent for solving 
this.

> 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
>            Priority: Major
>
> 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to