hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kai Zheng (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-9125) LdapGroupsMapping threw CommunicationException after some idle time
Date Wed, 12 Dec 2012 01:11:22 GMT

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

Kai Zheng commented on HADOOP-9125:
-----------------------------------

In our fix it tried to reconnect 3 times and then throw final exception for the getGroups()
call. Just verified that the exception thrown due to the LDAP server being shutdown is also
the CommunicationException.

Just trying to reconnect some times is simple. A complex one would be to detect connection
close event using the UnsolicitedNotificationListener stuff, but I'm wondering if it's too
overweight.
                
> LdapGroupsMapping threw CommunicationException after some idle time
> -------------------------------------------------------------------
>
>                 Key: HADOOP-9125
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9125
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: security
>    Affects Versions: 0.23.3, 2.0.0-alpha
>            Reporter: Kai Zheng
>             Fix For: 2.0.3-alpha
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> LdapGroupsMapping threw exception as below after some idle time. During the idle time
no call to the group mapping provider should be made to repeat it.
> 2012-12-07 02:20:59,738 WARN org.apache.hadoop.security.LdapGroupsMapping: Exception
trying to get groups for user aduser2
> javax.naming.CommunicationException: connection closed [Root exception is java.io.IOException:
connection closed]; remaining name 'CN=Users,DC=EXAMPLE,DC=COM'
>         at com.sun.jndi.ldap.LdapCtx.doSearch(LdapCtx.java:1983)
>         at com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1827)
>         at com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1752)
>         at com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1769)
>         at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentDirContext.java:394)
>         at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:376)
>         at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:358)
>         at javax.naming.directory.InitialDirContext.search(InitialDirContext.java:267)
>         at org.apache.hadoop.security.LdapGroupsMapping.getGroups(LdapGroupsMapping.java:187)
>         at org.apache.hadoop.security.CompositeGroupsMapping.getGroups(CompositeGroupsMapping.java:97)
>         at org.apache.hadoop.security.Groups.doGetGroups(Groups.java:103)
>         at org.apache.hadoop.security.Groups.getGroups(Groups.java:70)
>         at org.apache.hadoop.security.UserGroupInformation.getGroupNames(UserGroupInformation.java:1035)
>         at org.apache.hadoop.hbase.security.User.getGroupNames(User.java:90)
>         at org.apache.hadoop.hbase.security.access.TableAuthManager.authorize(TableAuthManager.java:355)
>         at org.apache.hadoop.hbase.security.access.AccessController.requirePermission(AccessController.java:379)
>         at org.apache.hadoop.hbase.security.access.AccessController.getUserPermissions(AccessController.java:1051)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.apache.hadoop.hbase.regionserver.HRegion.exec(HRegion.java:4914)
>         at org.apache.hadoop.hbase.regionserver.HRegionServer.execCoprocessor(HRegionServer.java:3546)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.apache.hadoop.hbase.ipc.SecureRpcEngine$Server.call(SecureRpcEngine.java:372)
>         at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1399)
> Caused by: java.io.IOException: connection closed
>         at com.sun.jndi.ldap.LdapClient.ensureOpen(LdapClient.java:1558)
>         at com.sun.jndi.ldap.LdapClient.search(LdapClient.java:503)
>         at com.sun.jndi.ldap.LdapCtx.doSearch(LdapCtx.java:1965)
>         ... 28 more
> 2012-12-07 02:20:59,739 WARN org.apache.hadoop.security.UserGroupInformation: No groups
available for user aduser2

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message