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