You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Emmanuel Lecharny (JIRA)" <di...@incubator.apache.org> on 2005/10/19 04:41:44 UTC

[jira] Created: (DIRLDAP-63) Error message in LdapResult could be very long

Error message in LdapResult could be very long
----------------------------------------------

         Key: DIRLDAP-63
         URL: http://issues.apache.org/jira/browse/DIRLDAP-63
     Project: Directory LDAP
        Type: Improvement
    Reporter: Emmanuel Lecharny
    Priority: Minor


In case we get an exception, the LdapResult will contain the full stack trace. This is obviously the wrong decision for results such as " Result code : (32) noSuchObject".

We should just send back the simple message :
"org.apache.ldap.common.exception.LdapNameNotFoundException: Attempt to search under non-existant entry: ou=playground,dc=apache,dc=org"

And even the class name is not very interesting.

For information, here is what we get :

    message Id : 2
    Search Result Done
        Ldap Result
            Result code : (32) noSuchObject
            Matched DN : 'dc=apache,dc=org'
            Error message : 'failed on search operation:
org.apache.ldap.common.message.SearchRequestImpl@4c47db:
org.apache.ldap.common.exception.LdapNameNotFoundException: Attempt to search under non-existant entry: ou=playground,dc=apache,dc=org
	at org.apache.ldap.server.exception.ExceptionService.assertHasEntry(ExceptionService.java:374)
	at org.apache.ldap.server.exception.ExceptionService.search(ExceptionService.java:352)
	at org.apache.ldap.server.interceptor.InterceptorChain$Entry$1.search(InterceptorChain.java:1172)
	at org.apache.ldap.server.authz.OldAuthorizationService.search(OldAuthorizationService.java:406)
	at org.apache.ldap.server.interceptor.InterceptorChain$Entry$1.search(InterceptorChain.java:1172)
	at org.apache.ldap.server.authz.AuthorizationService.search(AuthorizationService.java:797)
	at org.apache.ldap.server.interceptor.InterceptorChain$Entry$1.search(InterceptorChain.java:1172)
	at org.apache.ldap.server.authn.AuthenticationService.search(AuthenticationService.java:294)
	at org.apache.ldap.server.interceptor.InterceptorChain$Entry$1.search(InterceptorChain.java:1172)
	at org.apache.ldap.server.normalization.NormalizationService.search(NormalizationService.java:164)
	at org.apache.ldap.server.interceptor.InterceptorChain.search(InterceptorChain.java:746)
	at org.apache.ldap.server.partition.DirectoryPartitionNexusProxy.search(DirectoryPartitionNexusProxy.java:356)
	at org.apache.ldap.server.partition.DirectoryPartitionNexusProxy.search(DirectoryPartitionNexusProxy.java:344)
	at org.apache.ldap.server.jndi.ServerDirContext.search(ServerDirContext.java:580)
	at org.apache.ldap.server.protocol.support.SearchHandler.messageReceived(SearchHandler.java:98)
	at org.apache.mina.protocol.handler.DemuxingProtocolHandler.messageReceived(DemuxingProtocolHandler.java:94)
	at org.apache.mina.protocol.AbstractProtocolFilterChain$2.messageReceived(AbstractProtocolFilterChain.java:149)
	at org.apache.mina.protocol.AbstractProtocolFilterChain.callNextMessageReceived(AbstractProtocolFilterChain.java:365)
	at org.apache.mina.protocol.AbstractProtocolFilterChain.access$1000(AbstractProtocolFilterChain.java:50)
	at org.apache.mina.protocol.AbstractProtocolFilterChain$Entry$1.messageReceived(AbstractProtocolFilterChain.java:524)
	at org.apache.mina.protocol.AbstractProtocolFilterChain$1.messageReceived(AbstractProtocolFilterChain.java:99)
	at org.apache.mina.protocol.AbstractProtocolFilterChain.callNextMessageReceived(AbstractProtocolFilterChain.java:365)
	at org.apache.mina.protocol.AbstractProtocolFilterChain.messageReceived(AbstractProtocolFilterChain.java:356)
	at org.apache.mina.protocol.ProtocolSessionManagerFilterChain$1.messageReceived(ProtocolSessionManagerFilterChain.java:77)
	at org.apache.mina.protocol.AbstractProtocolFilterChain.callNextMessageReceived(AbstractProtocolFilterChain.java:365)
	at org.apache.mina.protocol.AbstractProtocolFilterChain.access$1000(AbstractProtocolFilterChain.java:50)
	at org.apache.mina.protocol.AbstractProtocolFilterChain$Entry$1.messageReceived(AbstractProtocolFilterChain.java:524)
	at org.apache.mina.protocol.filter.ProtocolThreadPoolFilter.processEvent(ProtocolThreadPoolFilter.java:108)
	at org.apache.mina.util.BaseThreadPool$Worker.processEvents(BaseThreadPool.java:405)
	at org.apache.mina.util.BaseThreadPool$Worker.run(BaseThreadPool.java:355)
'


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Closed: (DIRLDAP-63) Error message in LdapResult could be very long

Posted by "Emmanuel Lecharny (JIRA)" <di...@incubator.apache.org>.
     [ http://issues.apache.org/jira/browse/DIRLDAP-63?page=all ]
     
Emmanuel Lecharny closed DIRLDAP-63:
------------------------------------

    Resolution: Invalid

This is not a problem, as the message contains a stack trace only when the server is launched in DEBUG mode.

> Error message in LdapResult could be very long
> ----------------------------------------------
>
>          Key: DIRLDAP-63
>          URL: http://issues.apache.org/jira/browse/DIRLDAP-63
>      Project: Directory LDAP
>         Type: Improvement
>     Reporter: Emmanuel Lecharny
>     Priority: Minor

>
> In case we get an exception, the LdapResult will contain the full stack trace. This is obviously the wrong decision for results such as " Result code : (32) noSuchObject".
> We should just send back the simple message :
> "org.apache.ldap.common.exception.LdapNameNotFoundException: Attempt to search under non-existant entry: ou=playground,dc=apache,dc=org"
> And even the class name is not very interesting.
> For information, here is what we get :
>     message Id : 2
>     Search Result Done
>         Ldap Result
>             Result code : (32) noSuchObject
>             Matched DN : 'dc=apache,dc=org'
>             Error message : 'failed on search operation:
> org.apache.ldap.common.message.SearchRequestImpl@4c47db:
> org.apache.ldap.common.exception.LdapNameNotFoundException: Attempt to search under non-existant entry: ou=playground,dc=apache,dc=org
> 	at org.apache.ldap.server.exception.ExceptionService.assertHasEntry(ExceptionService.java:374)
> 	at org.apache.ldap.server.exception.ExceptionService.search(ExceptionService.java:352)
> 	at org.apache.ldap.server.interceptor.InterceptorChain$Entry$1.search(InterceptorChain.java:1172)
> 	at org.apache.ldap.server.authz.OldAuthorizationService.search(OldAuthorizationService.java:406)
> 	at org.apache.ldap.server.interceptor.InterceptorChain$Entry$1.search(InterceptorChain.java:1172)
> 	at org.apache.ldap.server.authz.AuthorizationService.search(AuthorizationService.java:797)
> 	at org.apache.ldap.server.interceptor.InterceptorChain$Entry$1.search(InterceptorChain.java:1172)
> 	at org.apache.ldap.server.authn.AuthenticationService.search(AuthenticationService.java:294)
> 	at org.apache.ldap.server.interceptor.InterceptorChain$Entry$1.search(InterceptorChain.java:1172)
> 	at org.apache.ldap.server.normalization.NormalizationService.search(NormalizationService.java:164)
> 	at org.apache.ldap.server.interceptor.InterceptorChain.search(InterceptorChain.java:746)
> 	at org.apache.ldap.server.partition.DirectoryPartitionNexusProxy.search(DirectoryPartitionNexusProxy.java:356)
> 	at org.apache.ldap.server.partition.DirectoryPartitionNexusProxy.search(DirectoryPartitionNexusProxy.java:344)
> 	at org.apache.ldap.server.jndi.ServerDirContext.search(ServerDirContext.java:580)
> 	at org.apache.ldap.server.protocol.support.SearchHandler.messageReceived(SearchHandler.java:98)
> 	at org.apache.mina.protocol.handler.DemuxingProtocolHandler.messageReceived(DemuxingProtocolHandler.java:94)
> 	at org.apache.mina.protocol.AbstractProtocolFilterChain$2.messageReceived(AbstractProtocolFilterChain.java:149)
> 	at org.apache.mina.protocol.AbstractProtocolFilterChain.callNextMessageReceived(AbstractProtocolFilterChain.java:365)
> 	at org.apache.mina.protocol.AbstractProtocolFilterChain.access$1000(AbstractProtocolFilterChain.java:50)
> 	at org.apache.mina.protocol.AbstractProtocolFilterChain$Entry$1.messageReceived(AbstractProtocolFilterChain.java:524)
> 	at org.apache.mina.protocol.AbstractProtocolFilterChain$1.messageReceived(AbstractProtocolFilterChain.java:99)
> 	at org.apache.mina.protocol.AbstractProtocolFilterChain.callNextMessageReceived(AbstractProtocolFilterChain.java:365)
> 	at org.apache.mina.protocol.AbstractProtocolFilterChain.messageReceived(AbstractProtocolFilterChain.java:356)
> 	at org.apache.mina.protocol.ProtocolSessionManagerFilterChain$1.messageReceived(ProtocolSessionManagerFilterChain.java:77)
> 	at org.apache.mina.protocol.AbstractProtocolFilterChain.callNextMessageReceived(AbstractProtocolFilterChain.java:365)
> 	at org.apache.mina.protocol.AbstractProtocolFilterChain.access$1000(AbstractProtocolFilterChain.java:50)
> 	at org.apache.mina.protocol.AbstractProtocolFilterChain$Entry$1.messageReceived(AbstractProtocolFilterChain.java:524)
> 	at org.apache.mina.protocol.filter.ProtocolThreadPoolFilter.processEvent(ProtocolThreadPoolFilter.java:108)
> 	at org.apache.mina.util.BaseThreadPool$Worker.processEvents(BaseThreadPool.java:405)
> 	at org.apache.mina.util.BaseThreadPool$Worker.run(BaseThreadPool.java:355)
> '

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira