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

LiveSync with CSV resource fails 10-times and then continues

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 4.0.3
    • Fix Version/s: 4.4
    • Component/s: Connectors
    • Labels:
    • Environment:
    • Subscription:
      Internal

      Description

      Source CSV resource for contractors is initially configured to not resolve name conflicts. The $focus/name is set to projection's givenName initial + familyName from CSV file.

      During the labs, this is deliberately abused by creating two users with the same givenName initial and familyName.

      LiveSync is in the default state, retryLiveSyncErrors is not explicitly set.

      LiveSync will fail importing the account, keeping it unmatched. Result of LiveSync task is PARTIAL_ERROR (correct).

      The situation repeats exactly 10 times. Then LiveSync stops attempting to import the account and moves the token. Further accounts (with Ok given/family names) are imported. The one which was with error is not imported, it was skipped.

      2020-10-20 13:28:31,503 [PROVISIONING] [midPointScheduler_Worker-1] INFO (com.evolveum.midpoint.provisioning.impl.sync.LiveSynchronizer): Capability of providing precise token values is NOT present. Token will not be updated so the processing will restart from the beginning at next task run. So token value stays as it was: 'PP({.../provisioning/liveSync-3}token):[PPV(String:1603193305542)]'
      2020-10-20 13:28:37,301 [SYNCHRONIZATION_SERVICE] [midPointScheduler_Worker-1] ERROR (com.evolveum.midpoint.model.impl.sync.SynchronizationServiceImpl): SYNCHRONIZATION: Error in synchronization on resource:ff735c0a-21e3-11e8-a91a-df0065248d2d(ExAmPLE, Inc. Contractor DB) for situation UNMATCHED: ObjectAlreadyExistsException: Error processing focus(user:null(badobi)): constraint violation: Found conflicting existing object with property name = PP({.../common/common-3}name):[PPV(PolyString:badobi)]: user:fb4dd3d0-7bd8-4605-a90c-a86c13aa8375(badobi). Change was ResourceObjectShadowChangeDescription(objectDelta=ObjectDelta(ShadowType:de490420-affe-428a-a5ee-2d665f511af4,ADD: shadow:de490420-affe-428a-a5ee-2d665f511af4(null)), currentShadow=shadow:de490420-affe-428a-a5ee-2d665f511af4(ce0f52f0-3713-11e8-8517-67927e85e225), oldShadow=shadow:de490420-affe-428a-a5ee-2d665f511af4(ce0f52f0-3713-11e8-8517-67927e85e225), sourceChannel=http://midpoint.evolveum.com/xml/ns/public/provisioning/channels-3#liveSync, resource=resource:ff735c0a-21e3-11e8-a91a-df0065248d2d(ExAmPLE, Inc. Contractor DB))
      com.evolveum.midpoint.util.exception.ObjectAlreadyExistsException: Error processing focus(user:null(badobi)): constraint violation: Found conflicting existing object with property name = PP({.../common/common-3}name):[PPV(PolyString:badobi)]: user:fb4dd3d0-7bd8-4605-a90c-a86c13aa8375(badobi)
              at com.evolveum.midpoint.model.impl.lens.LensUtil.checkMaxIterations(LensUtil.java:928)
              at com.evolveum.midpoint.model.impl.lens.projector.focus.AssignmentHolderProcessor.processFocusFocus(AssignmentHolderProcessor.java:411)
              at com.evolveum.midpoint.model.impl.lens.projector.focus.AssignmentHolderProcessor.processFocus(AssignmentHolderProcessor.java:101)
              at com.evolveum.midpoint.model.impl.lens.projector.Projector.lambda$projectInternal$1(Projector.java:221)
              at com.evolveum.midpoint.model.impl.lens.ClockworkMedic.partialExecute(ClockworkMedic.java:211)
              at com.evolveum.midpoint.model.impl.lens.ClockworkMedic.partialExecute(ClockworkMedic.java:154)
              at com.evolveum.midpoint.model.impl.lens.projector.Projector.projectInternal(Projector.java:219)
              at com.evolveum.midpoint.model.impl.lens.projector.Projector.project(Projector.java:95)
              at com.evolveum.midpoint.model.impl.lens.Clockwork.click(Clockwork.java:588)
              at com.evolveum.midpoint.model.impl.lens.Clockwork.run(Clockwork.java:204)
              at com.evolveum.midpoint.model.impl.sync.SynchronizationServiceImpl.reactToChange(SynchronizationServiceImpl.java:834)
              at com.evolveum.midpoint.model.impl.sync.SynchronizationServiceImpl.notifyChange(SynchronizationServiceImpl.java:165)
              at com.evolveum.midpoint.provisioning.impl.ChangeNotificationDispatcherImpl.notifyChange(ChangeNotificationDispatcherImpl.java:170)
              at com.evolveum.midpoint.provisioning.impl.ShadowCache.notifyResourceObjectChangeListeners(ShadowCache.java:2475)
              at com.evolveum.midpoint.provisioning.impl.sync.ChangeProcessor.execute(ChangeProcessor.java:132)
              at com.evolveum.midpoint.provisioning.impl.sync.ChangeProcessingCoordinator.submit(ChangeProcessingCoordinator.java:86)
              at com.evolveum.midpoint.provisioning.impl.sync.LiveSynchronizer$1.handleChange(LiveSynchronizer.java:137)
              at com.evolveum.midpoint.provisioning.impl.ResourceObjectConverter$2.handleChange(ResourceObjectConverter.java:1816)
              at com.evolveum.midpoint.provisioning.ucf.impl.connid.ConnectorInstanceConnIdImpl.lambda$fetchChanges$0(ConnectorInstanceConnIdImpl.java:1676)
              at org.identityconnectors.framework.impl.api.StreamHandlerUtil$ObjectStreamHandlerAdapter.handle(StreamHandlerUtil.java:107)
              at org.identityconnectors.framework.impl.api.BufferedResultsProxy.invoke(BufferedResultsProxy.java:262)
              at org.identityconnectors.framework.impl.api.DelegatingTimeoutProxy.invoke(DelegatingTimeoutProxy.java:94)
      ...
      

      The token is the same, for 10 times.

      2020-10-20 13:28:31,503 [PROVISIONING] [midPointScheduler_Worker-1] INFO (com.evolveum.midpoint.provisioning.impl.sync.LiveSynchronizer): Capability of providing precise token values is NOT present. Token will not be updated so the processing will restart from the beginning at next task run. So token value stays as it was: 'PP({.../provisioning/liveSync-3}token):[PPV(String:1603193305542)]'
      2020-10-20 13:28:37,303 [PROVISIONING] [midPointScheduler_Worker-1] INFO (com.evolveum.midpoint.provisioning.impl.sync.LiveSynchronizer): Capability of providing precise token values is NOT present. Token will not be updated so the processing will restart from the beginning at next task run. So token value stays as it was: 'PP({.../provisioning/liveSync-3}token):[PPV(String:1603193305542)]'
      2020-10-20 13:28:43,005 [PROVISIONING] [midPointScheduler_Worker-1] INFO (com.evolveum.midpoint.provisioning.impl.sync.LiveSynchronizer): Capability of providing precise token values is NOT present. Token will not be updated so the processing will restart from the beginning at next task run. So token value stays as it was: 'PP({.../provisioning/liveSync-3}token):[PPV(String:1603193305542)]'
      2020-10-20 13:28:48,782 [PROVISIONING] [midPointScheduler_Worker-1] INFO (com.evolveum.midpoint.provisioning.impl.sync.LiveSynchronizer): Capability of providing precise token values is NOT present. Token will not be updated so the processing will restart from the beginning at next task run. So token value stays as it was: 'PP({.../provisioning/liveSync-3}token):[PPV(String:1603193305542)]'
      2020-10-20 13:28:54,483 [PROVISIONING] [midPointScheduler_Worker-1] INFO (com.evolveum.midpoint.provisioning.impl.sync.LiveSynchronizer): Capability of providing precise token values is NOT present. Token will not be updated so the processing will restart from the beginning at next task run. So token value stays as it was: 'PP({.../provisioning/liveSync-3}token):[PPV(String:1603193305542)]'
      2020-10-20 13:29:00,208 [PROVISIONING] [midPointScheduler_Worker-1] INFO (com.evolveum.midpoint.provisioning.impl.sync.LiveSynchronizer): Capability of providing precise token values is NOT present. Token will not be updated so the processing will restart from the beginning at next task run. So token value stays as it was: 'PP({.../provisioning/liveSync-3}token):[PPV(String:1603193305542)]'
      2020-10-20 13:29:06,000 [PROVISIONING] [midPointScheduler_Worker-1] INFO (com.evolveum.midpoint.provisioning.impl.sync.LiveSynchronizer): Capability of providing precise token values is NOT present. Token will not be updated so the processing will restart from the beginning at next task run. So token value stays as it was: 'PP({.../provisioning/liveSync-3}token):[PPV(String:1603193305542)]'
      2020-10-20 13:29:11,677 [PROVISIONING] [midPointScheduler_Worker-1] INFO (com.evolveum.midpoint.provisioning.impl.sync.LiveSynchronizer): Capability of providing precise token values is NOT present. Token will not be updated so the processing will restart from the beginning at next task run. So token value stays as it was: 'PP({.../provisioning/liveSync-3}token):[PPV(String:1603193305542)]'
      2020-10-20 13:29:17,411 [PROVISIONING] [midPointScheduler_Worker-1] INFO (com.evolveum.midpoint.provisioning.impl.sync.LiveSynchronizer): Capability of providing precise token values is NOT present. Token will not be updated so the processing will restart from the beginning at next task run. So token value stays as it was: 'PP({.../provisioning/liveSync-3}token):[PPV(String:1603193305542)]'
      2020-10-20 13:29:23,104 [PROVISIONING] [midPointScheduler_Worker-1] INFO (com.evolveum.midpoint.provisioning.impl.sync.LiveSynchronizer): Capability of providing precise token values is NOT present. Token will not be updated so the processing will restart from the beginning at next task run. So token value stays as it was: 'PP({.../provisioning/liveSync-3}token):[PPV(String:1603193305542)]'
      

      I have a suspiction that the number 10 is the same as the number of temporary CSV files kept by the CSV connector.

        Attachments

          Activity

            People

            Assignee:
            vix Ivan Noris
            Reporter:
            vix Ivan Noris
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: