[ 
https://issues.apache.org/jira/browse/DIRAPI-13?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12861211#action_12861211
 ] 

Sebu Koleth commented on DIRAPI-13:
-----------------------------------

In contrast I have been using plain JNDI code with a few enhancements to do the 
same thing and it works without any problem. So does the Unboundid LDAP SDK. So 
would a re-think of the LDAP Client API be in order?

> Recursively drilling into the directory structure causes 
> java.lang.OutOfMemoryError
> -----------------------------------------------------------------------------------
>
>                 Key: DIRAPI-13
>                 URL: https://issues.apache.org/jira/browse/DIRAPI-13
>             Project: Directory client API
>          Issue Type: Bug
>    Affects Versions: 0.1.0
>         Environment: Windows XP SP3
>            Reporter: Sebu Koleth
>
>         private static void recursivelyDescend(LdapConnection connection, 
> String dn) {
>               System.out.println("Searching for children of dn : " + dn);
>               try 
>               {
>                       Cursor<SearchResponse> cursor = connection.search(dn, 
> "(objectclass=*)", SearchScope.ONELEVEL, "*");
>                       while (cursor.next())
>                       {
>                               SearchResponse response = cursor.get();
>                               if(response instanceof SearchResultEntry) {
>                                       recursivelyDescend(connection, 
> ((SearchResultEntry)response).getObjectName().getName());
>                               } else {
>                                       System.out.println("Unusable response 
> type " + response);
>                               }
>                       }
>               } catch (LdapException le) {
>                       le.printStackTrace();
>               } catch (Exception e) {
>                       e.printStackTrace();
>               }
>       }
> The above piece of code is exercised after obtaining an SSL-based LDAP 
> connection. The target server has hundreds of thousands of records at 
> different levels. Logging at WARN level shows a *lot* of messages :
> WARN NioProcessor-1 org.apache.directory.shared.asn1.ber.Asn1Decoder - The 
> PDU has been fully decoded but there are still bytes in the buffer.
> The code chokes at processing the 52nd entry that is two levels deep from the 
> base DN. At this level there are around 1000 sub-levels.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to