LDAP Limit Exceeded Exception

1
I downloaded and configured the LDAP module from the Appstore. When I'm trying to read LDAP I'm getting an error message after a while (stacktrace below). In this case, the LDAP root directory has been set to: "DC=DirectAxis,DC=co,DC=za". When I constrain the root directory to a more specific path "OU=UsersAndComputers,DC=DirectAxis,DC=co,DC=za", it works fine. Seems like the current LDAP logic is having a limit on the amount of users. Thanks in advance for helping me out. Stacktrace: An error has occurred while handling the request. [User 'MxAdmin' with roles 'MxAdministrator'] com.mendix.core.CoreException: Exception occurred in action 'Microflow [Ldap.ReadLdapFlow]', all database changes executed by this action were rolled back at com.mendix.core.actionmanagement.CoreAction.d(SourceFile:551) Caused by: com.mendix.core.CoreException: Exception occurred in microflow 'Ldap.ReadLdapFlow' for activity 'Call 'readLdap'', all database changes executed by this microflow were rolled back at mq.b(SourceFile:254) Caused by: com.mendix.core.CoreException: org.springframework.ldap.LimitExceededException: [LDAP: error code 4 - Sizelimit Exceeded]; nested exception is javax.naming.SizeLimitExceededException: [LDAP: error code 4 - Sizelimit Exceeded]; remaining name 'DC=0.10.in-addr.arpa,CN=MicrosoftDNS,CN=System,DC=DirectAxis,DC=co,DC=za' at hb.b(SourceFile:167) Caused by: org.springframework.ldap.LimitExceededException: [LDAP: error code 4 - Sizelimit Exceeded]; nested exception is javax.naming.SizeLimitExceededException: [LDAP: error code 4 - Sizelimit Exceeded]; remaining name 'DC=0.10.in- addr.arpa,CN=MicrosoftDNS,CN=System,DC=DirectAxis,DC=co,DC=za' at org.springframework.ldap.support.LdapUtils.convertLdapException(LdapUtils.java:140) at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:295) at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:234) at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:548) at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:532) at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:383) at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:406) at com.mendix.ldap.LdapModule.readChildren(LdapModule.java:310) at com.mendix.ldap.LdapModule.convertFromDirectory(LdapModule.java:269) at com.mendix.ldap.LdapModule.convertFromDirectory(LdapModule.java:270) at com.mendix.ldap.LdapModule.convertFromDirectory(LdapModule.java:270) at com.mendix.ldap.ReadRootDirectory.readDirectory(ReadRootDirectory.java:50) at com.mendix.ldap.ReadRootDirectory.readRoot(ReadRootDirectory.java:30) at com.mendix.ldap.LdapModule.readLDAP(LdapModule.java:112) at ldap.actions.ReadLdap.executeAction(ReadLdap.java:38) at ldap.actions.ReadLdap.executeAction(ReadLdap.java:20) at com.mendix.systemwideinterfaces.core.UserAction.execute(SourceFile:48) at com.mendix.core.actionmanagement.CoreAction.call(SourceFile:471) at hb.b(SourceFile:155) at com.mendix.core.Core.execute(SourceFile:193) at le.a(SourceFile:70) at mq.a(SourceFile:69) at mp.executeAction(SourceFile:93) at com.mendix.systemwideinterfaces.core.UserAction.execute(SourceFile:48) at com.mendix.core.actionmanagement.CoreAction.call(SourceFile:471) at hb.b(SourceFile:155) at com.mendix.core.Core.execute(SourceFile:193) at fU.execute(SourceFile:183) at iy.a(SourceFile:300) at iy.a(SourceFile:231) at iy.processRequest(SourceFile:175) at iB.a(SourceFile:71) at com.mendix.core.MxRuntime.processRequest(SourceFile:840) at com.mendix.m2ee.server.handler.RuntimeHandler.handle(RuntimeHandler.java:43) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113) at org.eclipse.jetty.server.Server.handle(Server.java:334) at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:559) at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1007) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:747) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:209) at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:406) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:462) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436) at java.lang.Thread.run(Thread.java:662) Caused by: javax.naming.SizeLimitExceededException: [LDAP: error code 4 - Sizelimit Exceeded] at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3093) at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2987) at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2794) at com.sun.jndi.ldap.LdapNamingEnumeration.getNextBatch(LdapNamingEnumeration.java:129) at com.sun.jndi.ldap.LdapNamingEnumeration.hasMoreImpl(LdapNamingEnumeration.java:198) at com.sun.jndi.ldap.LdapNamingEnumeration.hasMore(LdapNamingEnumeration.java:171) at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:274) at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:234) at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:548) at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:532) at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:383) at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:406) at com.mendix.ldap.LdapModule.readChildren(LdapModule.java:310) at com.mendix.ldap.LdapModule.convertFromDirectory(LdapModule.java:269) at com.mendix.ldap.LdapModule.convertFromDirectory(LdapModule.java:270) at com.mendix.ldap.LdapModule.convertFromDirectory(LdapModule.java:270) at com.mendix.ldap.ReadRootDirectory.readDirectory(ReadRootDirectory.java:50) at com.mendix.ldap.ReadRootDirectory.readRoot(ReadRootDirectory.java:30) at com.mendix.ldap.LdapModule.readLDAP(LdapModule.java:112) at ldap.actions.ReadLdap.executeAction(ReadLdap.java:38) at ldap.actions.ReadLdap.executeAction(ReadLdap.java:20) at com.mendix.systemwideinterfaces.core.UserAction.execute(SourceFile:48) at com.mendix.core.actionmanagement.CoreAction.call(SourceFile:471) at hb.b(SourceFile:155) at com.mendix.core.Core.execute(SourceFile:193) at le.a(SourceFile:70) at mq.a(SourceFile:69) at mp.executeAction(SourceFile:93) at com.mendix.systemwideinterfaces.core.UserAction.execute(SourceFile:48) at com.mendix.core.actionmanagement.CoreAction.call(SourceFile:471) at hb.b(SourceFile:155) at com.mendix.core.Core.execute(SourceFile:193) at fU.execute(SourceFile:183) at iy.a(SourceFile:300) at iy.a(SourceFile:231) at iy.processRequest(SourceFile:175) at iB.a(SourceFile:71) at com.mendix.core.MxRuntime.processRequest(SourceFile:840) at com.mendix.m2ee.server.handler.RuntimeHandler.handle(RuntimeHandler.java:43) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113) at org.eclipse.jetty.server.Server.handle(Server.java:334) at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:559) at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1007) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:747) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:209) at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:406) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:462) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436) at java.lang.Thread.run(Thread.java:662)
asked
1 answers
0

This is a known problem, as some LDAP servers, such as Active Directory, limit the number of queryresults that can be retrieved, you can do one of the following:

1) Update the Active Directory settings, see : http://support.microsoft.com/kb/315071.

2) File a feature request to retrieve data in batches.

answered