[
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