Uploaded image for project: 'Ranger'
  1. Ranger
  2. RANGER-3659

Ranger Admin goes to OOM when usersync is trying to delete existing group mappings from ranger DB

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 3.0.0, 2.3.0
    • Ranger
    • None

    Description

      Ranger Admin goes to OOM when usersync is trying to delete existing group mappings from ranger DB. 

      From heapdump the thread that is running OOM:

      https-jsse-nio-6182-exec-3
      at java.lang.OutOfMemoryError.<init>()V (OutOfMemoryError.java:48)
      at java.util.IdentityHashMap.resize(I)Z (IdentityHashMap.java:472)
      at java.util.IdentityHashMap.put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; (IdentityHashMap.java:441)
      at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.calculateChanges(Ljava/util/Map;Lorg/eclipse/persistence/internal/sessions/UnitOfWorkChangeSet;ZZ)Lorg/eclipse/persistence/internal/sessions/UnitOfWorkChangeSet; (UnitOfWorkImpl.java:731)
      at org.eclipse.persistence.internal.sessions.RepeatableWriteUnitOfWork.writeChanges()V (RepeatableWriteUnitOfWork.java:443)
      at org.eclipse.persistence.internal.jpa.EntityManagerImpl.flush()V (EntityManagerImpl.java:975)
      at org.eclipse.persistence.internal.jpa.QueryImpl.performPreQueryFlush()V (QueryImpl.java:976)
      at org.eclipse.persistence.internal.jpa.QueryImpl.executeReadQuery()Ljava/lang/Object; (QueryImpl.java:211)
      at org.eclipse.persistence.internal.jpa.QueryImpl.getSingleResult()Ljava/lang/Object; (QueryImpl.java:530)
      at org.eclipse.persistence.internal.jpa.EJBQueryImpl.getSingleResult()Ljava/lang/Object; (EJBQueryImpl.java:404)
      at org.apache.ranger.db.XXUserDao.findByUserName(Ljava/lang/String;)Lorg/apache/ranger/entity/XXUser; (XXUserDao.java:52)
      at org.apache.ranger.service.XUserService.getXUserByUserName(Ljava/lang/String;)Lorg/apache/ranger/view/VXUser; (XUserService.java:150)
      at org.apache.ranger.biz.XUserMgr.deleteXGroupAndXUser(Ljava/lang/String;Ljava/lang/String;)V (XUserMgr.java:855)
      at org.apache.ranger.biz.XUserMgr.createOrDeleteXGroupUsers(Lorg/apache/ranger/ugsyncutil/model/GroupUserInfo;Ljava/util/Map;)V (XUserMgr.java:2835)
      at org.apache.ranger.biz.XUserMgr.createOrDeleteXGroupUserList(Ljava/util/List;)I (XUserMgr.java:2860)
      at org.apache.ranger.biz.XUserMgr$$FastClassBySpringCGLIB$$57c6d473.invoke(ILjava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (Unknown Source)
      at org.springframework.cglib.proxy.MethodProxy.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (MethodProxy.java:204)
      at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;Lorg/springframework/cglib/proxy/MethodProxy;)Ljava/lang/Object; (CglibAopProxy.java:668)
      at org.apache.ranger.biz.XUserMgr$$EnhancerBySpringCGLIB$$b2c8ac3b.createOrDeleteXGroupUserList(Ljava/util/List;)I (Unknown Source)
      at org.apache.ranger.rest.XUserREST.addOrUpdateGroupUsersList(Ljava/util/List;)I (XUserREST.java:1464)
      at org.apache.ranger.rest.XUserREST$$FastClassBySpringCGLIB$$b2a65360.invoke(ILjava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (Unknown Source)
      at org.springframework.cglib.proxy.MethodProxy.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (MethodProxy.java:204)
      at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint()Ljava/lang/Object; (CglibAopProxy.java:737)

      Attachments

        Issue Links

          Activity

            People

              spolavarapu Sailaja Polavarapu
              spolavarapu Sailaja Polavarapu
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: