Uploaded image for project: 'MidPoint'
  1. MidPoint
  2. MID-1549

LDAP sync after import of many users consumes about 50% CPU time doing "nothing"

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.2 (Crius)
    • Fix Version/s: 3.0 (Newton)
    • Component/s: Model
    • Labels:
      None
    • Environment:

      MySQL repo, LDAP server OpenDJ 2.4.6

    • Git Revision:
      9c16510a896f5d0da757752b6bb304739cb37ec5

      Description

      After importing of 40 000 LDAP accounts into midPoint, sync tasks seems to consume loads of CPU time.

      Profiling using jvisualvm has shown, that most time is spent in method

      org.identityconnectors.common.ReflectionUtil.getMethodName()
      

      This method is in thread:

      "Thread-192" daemon prio=6 tid=0x000000000e4db800 nid=0x2450 runnable [0x000000001392e000]
         java.lang.Thread.State: RUNNABLE
      	at java.lang.Throwable.getStackTraceElement(Native Method)
      	at java.lang.Throwable.getOurStackTrace(Throwable.java:591)
      	- locked <0x00000000e4dc89e0> (a java.lang.Throwable)
      	at java.lang.Throwable.getStackTrace(Throwable.java:582)
      	at org.identityconnectors.common.ReflectionUtil.getMethodName(ReflectionUtil.java:141)
      	at org.identityconnectors.common.logging.Log.log(Log.java:198)
      	at org.identityconnectors.common.logging.Log.ok(Log.java:220)
      	at org.identityconnectors.ldap.sync.sunds.SunDSChangeLogSyncStrategy.createSyncDelta(SunDSChangeLogSyncStrategy.java:167)
      	at org.identityconnectors.ldap.sync.sunds.SunDSChangeLogSyncStrategy.access$000(SunDSChangeLogSyncStrategy.java:89)
      	at org.identityconnectors.ldap.sync.sunds.SunDSChangeLogSyncStrategy$1.handle(SunDSChangeLogSyncStrategy.java:150)
      	at org.identityconnectors.ldap.search.DefaultSearchStrategy.doSearch(DefaultSearchStrategy.java:78)
      	at org.identityconnectors.ldap.search.LdapInternalSearch.execute(LdapInternalSearch.java:60)
      	at org.identityconnectors.ldap.sync.sunds.SunDSChangeLogSyncStrategy.sync(SunDSChangeLogSyncStrategy.java:140)
      	at org.identityconnectors.ldap.LdapConnector.sync(LdapConnector.java:202)
      	at org.identityconnectors.framework.impl.api.local.operations.SyncImpl.sync(SyncImpl.java:63)
      	at sun.reflect.GeneratedMethodAccessor384.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at org.identityconnectors.framework.impl.api.local.operations.ConnectorAPIOperationRunnerProxy.invoke(ConnectorAPIOperationRunnerProxy.java:96)
      	at $Proxy162.sync(Unknown Source)
      	at sun.reflect.GeneratedMethodAccessor384.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at org.identityconnectors.framework.impl.api.local.operations.ThreadClassLoaderManagerProxy.invoke(ThreadClassLoaderManagerProxy.java:107)
      	at $Proxy162.sync(Unknown Source)
      	at sun.reflect.GeneratedMethodAccessor384.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at org.identityconnectors.framework.impl.api.BufferedResultsProxy$BufferedResultsHandler.run(BufferedResultsProxy.java:162)
      
         Locked ownable synchronizers:
      	- None
      
      

      Sync task token seem to be stucked on one version, thus ignoring other change tokens in LDAP and it seems to be stucked in some cycle.

      Problem remains. Syns task constantly takes up to 30-50% CPU time and there seems to be no activity.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              erik Erik Suta
              Reporter:
              erik Erik Suta
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: