[midPoint] Synchronization situation: DELETED and NPE

Wojciech Staszewski wojciech.staszewski at diagnostyka.pl
Tue Sep 19 12:40:00 CEST 2017


Thank you for your reply.

I configured "DELETED->unlink" and got the following errors (resource accounts reconciliation task):


Task result:

com.evolveum.midpoint.common.operation.reconciliation	FATAL_ERROR	Internal Error: java.lang.NullPointerException: null
com.evolveum.midpoint.common.operation.reconciliation.errors	NOT_APPLICABLE	Failures (1):	testuser1: java.lang.NullPointerException: null

Error stack:

2017-09-19 12:21:41,073 [] [midPointScheduler_Worker-7] INFO (com.evolveum.midpoint.model.impl.sync.ReconciliationTaskHandler): Finished resource part of resource:36dd5182-32e1-4b59-a46b-c0c5b6ff7d90(MY TEST RESOURCE) reconciliation: Processed 47 account(s), got 0 error(s). Average time for one object: 3088.2979 ms (wall clock time average: 3140.851 ms).
2017-09-19 12:21:41,131 [] [midPointScheduler_Worker-7] ERROR (com.evolveum.midpoint.provisioning.ucf.impl.connid.ConnIdUtil): ConnId Exception java.lang.NullPointerException in connector:97d430f1-d2b0-4487-b60b-4905dc76d2ca(ICF org.forgerock.openicf.connectors.scriptedsql.ScriptedSQLConnector v1.1.2.0.em3): ConnectorSpec(resource:36dd5182-32e1-4b59-a46b-c0c5b6ff7d90(MY TEST RESOURCE), name=null, oid=97d430f1-d2b0-4487-b60b-4905dc76d2ca) while getting object identified by ConnId UID '7887': null
java.lang.NullPointerException: null
2017-09-19 12:21:41,132 [] [midPointScheduler_Worker-7] ERROR (com.evolveum.midpoint.provisioning.impl.ProvisioningServiceImpl): Error getting object OID=4476e93a-9722-4e01-b7ae-f251be9477c8: java.lang.NullPointerException: null
com.evolveum.midpoint.util.exception.SystemException: java.lang.NullPointerException: null
        at com.evolveum.midpoint.provisioning.consistency.impl.ErrorHandlerFactory.createErrorHandler(ErrorHandlerFactory.java:89) ~[provisioning-impl-3.6.jar:na]
        at com.evolveum.midpoint.provisioning.impl.ShadowCache.handleError(ShadowCache.java:1128) ~[provisioning-impl-3.6.jar:na]
        at com.evolveum.midpoint.provisioning.impl.ShadowCache.getShadow(ShadowCache.java:328) ~[provisioning-impl-3.6.jar:na]
        at com.evolveum.midpoint.provisioning.impl.ProvisioningServiceImpl.getObject(ProvisioningServiceImpl.java:243) ~[provisioning-impl-3.6.jar:na]
        at com.evolveum.midpoint.model.impl.sync.ReconciliationTaskHandler.reconcileShadow(ReconciliationTaskHandler.java:598) [model-impl-3.6.jar:na]
        at com.evolveum.midpoint.model.impl.sync.ReconciliationTaskHandler.access$100(ReconciliationTaskHandler.java:87) [model-impl-3.6.jar:na]
        at com.evolveum.midpoint.model.impl.sync.ReconciliationTaskHandler$1.handle(ReconciliationTaskHandler.java:551) [model-impl-3.6.jar:na]
        at com.evolveum.midpoint.repo.cache.RepositoryCache$1.handle(RepositoryCache.java:212) [repo-cache-3.6.jar:na]
        at com.evolveum.midpoint.repo.sql.helpers.ObjectRetriever.searchObjectsIterativeByPagingStrictlySequential(ObjectRetriever.java:819) [repo-sql-impl-3.6.jar:na]
        at com.evolveum.midpoint.repo.sql.SqlRepositoryServiceImpl.searchObjectsIterative(SqlRepositoryServiceImpl.java:760) [repo-sql-impl-3.6.jar:na]
        at com.evolveum.midpoint.repo.cache.RepositoryCache.searchObjectsIterative(RepositoryCache.java:215) [repo-cache-3.6.jar:na]
        at com.evolveum.midpoint.model.impl.sync.ReconciliationTaskHandler.performShadowReconciliation(ReconciliationTaskHandler.java:571) [model-impl-3.6.jar:na]
        at com.evolveum.midpoint.model.impl.sync.ReconciliationTaskHandler.runInternal(ReconciliationTaskHandler.java:276) [model-impl-3.6.jar:na]
        at com.evolveum.midpoint.model.impl.sync.ReconciliationTaskHandler.run(ReconciliationTaskHandler.java:147) [model-impl-3.6.jar:na]
        at com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor.executeHandler(JobExecutor.java:649) [task-quartz-impl-3.6.jar:na]
        at com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor.executeRecurrentTask(JobExecutor.java:534) [task-quartz-impl-3.6.jar:na]
        at com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor.execute(JobExecutor.java:177) [task-quartz-impl-3.6.jar:na]
        at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [quartz-2.2.3.jar:na]
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) [quartz-2.2.3.jar:na]
Caused by: java.lang.NullPointerException: null
2017-09-19 12:21:41,132 [] [midPointScheduler_Worker-7] ERROR (com.evolveum.midpoint.model.impl.sync.ReconciliationTaskHandler): Reconciliation: Internal Error: java.lang.NullPointerException: null
com.evolveum.midpoint.util.exception.SystemException: java.lang.NullPointerException: null
        at com.evolveum.midpoint.provisioning.consistency.impl.ErrorHandlerFactory.createErrorHandler(ErrorHandlerFactory.java:89) ~[provisioning-impl-3.6.jar:na]
        at com.evolveum.midpoint.provisioning.impl.ShadowCache.handleError(ShadowCache.java:1128) ~[provisioning-impl-3.6.jar:na]
        at com.evolveum.midpoint.provisioning.impl.ShadowCache.getShadow(ShadowCache.java:328) ~[provisioning-impl-3.6.jar:na]
        at com.evolveum.midpoint.provisioning.impl.ProvisioningServiceImpl.getObject(ProvisioningServiceImpl.java:243) ~[provisioning-impl-3.6.jar:na]
        at com.evolveum.midpoint.model.impl.sync.ReconciliationTaskHandler.reconcileShadow(ReconciliationTaskHandler.java:598) [model-impl-3.6.jar:na]
        at com.evolveum.midpoint.model.impl.sync.ReconciliationTaskHandler.access$100(ReconciliationTaskHandler.java:87) [model-impl-3.6.jar:na]
        at com.evolveum.midpoint.model.impl.sync.ReconciliationTaskHandler$1.handle(ReconciliationTaskHandler.java:551) ~[model-impl-3.6.jar:na]
        at com.evolveum.midpoint.repo.cache.RepositoryCache$1.handle(RepositoryCache.java:212) ~[repo-cache-3.6.jar:na]
        at com.evolveum.midpoint.repo.sql.helpers.ObjectRetriever.searchObjectsIterativeByPagingStrictlySequential(ObjectRetriever.java:819) ~[repo-sql-impl-3.6.jar:na]
        at com.evolveum.midpoint.repo.sql.SqlRepositoryServiceImpl.searchObjectsIterative(SqlRepositoryServiceImpl.java:760) ~[repo-sql-impl-3.6.jar:na]
        at com.evolveum.midpoint.repo.cache.RepositoryCache.searchObjectsIterative(RepositoryCache.java:215) ~[repo-cache-3.6.jar:na]
        at com.evolveum.midpoint.model.impl.sync.ReconciliationTaskHandler.performShadowReconciliation(ReconciliationTaskHandler.java:571) [model-impl-3.6.jar:na]
        at com.evolveum.midpoint.model.impl.sync.ReconciliationTaskHandler.runInternal(ReconciliationTaskHandler.java:276) [model-impl-3.6.jar:na]
        at com.evolveum.midpoint.model.impl.sync.ReconciliationTaskHandler.run(ReconciliationTaskHandler.java:147) [model-impl-3.6.jar:na]
        at com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor.executeHandler(JobExecutor.java:649) [task-quartz-impl-3.6.jar:na]
        at com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor.executeRecurrentTask(JobExecutor.java:534) [task-quartz-impl-3.6.jar:na]
        at com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor.execute(JobExecutor.java:177) [task-quartz-impl-3.6.jar:na]
        at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [quartz-2.2.3.jar:na]
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) [quartz-2.2.3.jar:na]
Caused by: java.lang.NullPointerException: null
2017-09-19 12:21:41,214 [] [midPointScheduler_Worker-7] ERROR (com.evolveum.midpoint.schema.result.OperationResult): Subresult com.evolveum.midpoint.common.operation.reconciliation.shadowReconciliation of operation com.evolveum.midpoint.common.operation.reconciliation is still UNKNOWN during cleanup:
*op* com.evolveum.midpoint.common.operation.reconciliation, st: FATAL_ERROR, msg: Internal Error: java.lang.NullPointerException: null
    [c]resourceOid=36dd5182-32e1-4b59-a46b-c0c5b6ff7d90
    [cause]SystemException:java.lang.NullPointerException: null
        com.evolveum.midpoint.provisioning.consistency.impl.ErrorHandlerFactory.createErrorHandler(ErrorHandlerFactory.java:89)
        com.evolveum.midpoint.provisioning.impl.ShadowCache.handleError(ShadowCache.java:1128)
        com.evolveum.midpoint.provisioning.impl.ShadowCache.getShadow(ShadowCache.java:328)
        com.evolveum.midpoint.provisioning.impl.ProvisioningServiceImpl.getObject(ProvisioningServiceImpl.java:243)
        com.evolveum.midpoint.model.impl.sync.ReconciliationTaskHandler.reconcileShadow(ReconciliationTaskHandler.java:598)
        com.evolveum.midpoint.model.impl.sync.ReconciliationTaskHandler.access$100(ReconciliationTaskHandler.java:87)
        com.evolveum.midpoint.model.impl.sync.ReconciliationTaskHandler$1.handle(ReconciliationTaskHandler.java:551)
        com.evolveum.midpoint.repo.cache.RepositoryCache$1.handle(RepositoryCache.java:212)
        com.evolveum.midpoint.repo.sql.helpers.ObjectRetriever.searchObjectsIterativeByPagingStrictlySequential(ObjectRetriever.java:819)
        com.evolveum.midpoint.repo.sql.SqlRepositoryServiceImpl.searchObjectsIterative(SqlRepositoryServiceImpl.java:760)
        com.evolveum.midpoint.repo.cache.RepositoryCache.searchObjectsIterative(RepositoryCache.java:215)
        com.evolveum.midpoint.model.impl.sync.ReconciliationTaskHandler.performShadowReconciliation(ReconciliationTaskHandler.java:571)
        com.evolveum.midpoint.model.impl.sync.ReconciliationTaskHandler.runInternal(ReconciliationTaskHandler.java:276)
        com.evolveum.midpoint.model.impl.sync.ReconciliationTaskHandler.run(ReconciliationTaskHandler.java:147)
        com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor.executeHandler(JobExecutor.java:649)
        com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor.executeRecurrentTask(JobExecutor.java:534)
        com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor.execute(JobExecutor.java:177)
        org.quartz.core.JobRunShell.run(JobRunShell.java:202)
        org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
      Caused by java.lang.NullPointerException: null
  *op* com.evolveum.midpoint.repo.api.RepositoryService.modifyObject, st: SUCCESS, msg: null
      [p]oid=6dbc1b1f-957d-4225-b6f4-b501676c8115
      [p]type=com.evolveum.midpoint.xml.ns._public.common.common_3.TaskType
      [p]modifications=[PropertyDelta( / {.../common/common-3}progress, REPLACE)]
  *op* com.evolveum.midpoint.common.operation.reconciliation.repoReconciliation, st: SUCCESS, msg: null
      [p]reconciled=true
    *op* com.evolveum.midpoint.repo.api.RepositoryService.searchObjects, st: SUCCESS, msg: null
        [p]type=com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowType
        [p]query=Q{AND(NOT(EQUAL: failedOperationType,),REF: resourceRef,PRV(oid=36dd5182-32e1-4b59-a46b-c0c5b6ff7d90, targetType=null)),null paging
  *op* com.evolveum.midpoint.common.operation.reconciliation.repoReconciliation.statistics, st: SUCCESS, msg: Processing unfinished operations done. Out of 0 objects, 0 were processed successfully and processing of 0 resulted in failure. Total time spent: 0 ms.
  *op* com.evolveum.midpoint.common.operation.reconciliation.resourceReconciliation, st: SUCCESS, msg: Processed 47 account(s), got 0 error(s). Average time for one object: 3088.2979 ms (wall clock time average: 3140.851 ms).
  *op* com.evolveum.midpoint.common.operation.reconciliation.shadowReconciliation, st: UNKNOWN, msg: null
    *op* com.evolveum.midpoint.repo.api.RepositoryService.searchObjectsIterative, st: SUCCESS, msg: null
        [p]type=com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowType
        [p]query=Q{AND(OR(LESS: fullSynchronizationTimestamp,PPV(XMLGregorianCalendarImpl:2017-09-19T12:19:13.450+02:00),EQUAL: fullSynchronizationTimestamp,),REF: resourceRef,PRV(oid=36dd5182-32e1-4b59-a46b-c0c5b6ff7d90, targetType={.../common/common-3}ResourceType, targetName=MY TEST RESOURCE),EQUAL: objectClass,PPV(QName:{...resource/instance-3}AccountObjectClass)),null paging
      *op* com.evolveum.midpoint.repo.api.RepositoryService.searchObjects, st: SUCCESS, msg: null
          [p]type=com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowType
          [p]query=Q{AND(OR(LESS: fullSynchronizationTimestamp,PPV(XMLGregorianCalendarImpl:2017-09-19T12:19:13.450+02:00),EQUAL: fullSynchronizationTimestamp,),REF: resourceRef,PRV(oid=36dd5182-32e1-4b59-a46b-c0c5b6ff7d90, targetType={.../common/common-3}ResourceType, targetName=MY TEST RESOURCE),EQUAL: objectClass,PPV(QName:{...resource/instance-3}AccountObjectClass)),PAGING: M: 50,, after OID: ,
  *op* com.evolveum.midpoint.common.operation.reconciliation.errors, st: NOT_APPLICABLE, msg: Failures (1):
testuser1: java.lang.NullPointerException: null


2017-09-19 12:21:41,214 [] [midPointScheduler_Worker-7] ERROR (com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor): Problem with task result cleanup/summarize - continuing with raw result.
java.lang.IllegalStateException: Subresult com.evolveum.midpoint.common.operation.reconciliation.shadowReconciliation of operation com.evolveum.midpoint.common.operation.reconciliation is still UNKNOWN during cleanup
        at com.evolveum.midpoint.schema.result.OperationResult.cleanupResult(OperationResult.java:1275) ~[schema-3.6.jar:na]
        at com.evolveum.midpoint.schema.result.OperationResult.cleanupResult(OperationResult.java:1250) ~[schema-3.6.jar:na]
        at com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor.recordCycleRunFinish(JobExecutor.java:726) [task-quartz-impl-3.6.jar:na]
        at com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor.executeRecurrentTask(JobExecutor.java:535) [task-quartz-impl-3.6.jar:na]
        at com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor.execute(JobExecutor.java:177) [task-quartz-impl-3.6.jar:na]
        at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [quartz-2.2.3.jar:na]
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) [quartz-2.2.3.jar:na]
2017-09-19 12:21:41,294 [] [midPointScheduler_Worker-7] INFO (com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor): Task encountered permanent error, suspending the task. Task = Task(id:1498462398272-0-1, name:Reconciliation MY TEST RESOURCE, oid:6dbc1b1f-957d-4225-b6f4-b501676c8115)
2017-09-19 12:21:41,295 [] [midPointScheduler_Worker-7] INFO (com.evolveum.midpoint.task.quartzimpl.TaskManagerQuartzImpl): Suspending tasks [Task(id:1498462398272-0-1, name:Reconciliation MY TEST RESOURCE, oid:6dbc1b1f-957d-4225-b6f4-b501676c8115)]; do not stop tasks.


In the "Repository objects" -> "Shadows" the shadow of the deleted account (testuser1) still exists with OID: 4476e93a-9722-4e01-b7ae-f251be9477c8, the same as in the error log (Error getting object, 3rd. line).

Regards,
WS

W dniu 19.09.2017 o 09:20, Ivan Noris pisze:
> Hi,
> 
> deleteFocus is IMHO not what you want. It behaves just like you
> described, it will delete focus (user) objects if their projection does
> not exist anymore. That could be good response for authoritative
> systems, but not for this case.
> 
> I'd suggest to use DELETED situation with unlink action. Then
> reconciliation should unlink the non-existent shadow. And then I would
> run user recompute task in midPoint to reapply roles which will
> re-create the accounts in your Linux machine.
> 
> But for NPE you should attach the stack traces, that looks like a bug -
> not sure if in midPoint or in configuration. Or even better: create new
> jira please and attach corresponding part of your resource (anonymized
> if required). Thanks.
> 
> Best regards,
> Ivan
> 
>>
>> 1) I removed "DELETED" synchronization situation at all. Result: Null
>> Pointer Exception.
>> 2) I added "DELETED" situation with no action. Result: Null Pointer
>> Exception.
>> 3) I added "DELETED" situation with "Delete shadow" action. Result: Null
>> Pointer Exception.
>>
>> The default enforcement policy (relative), more or less says the same as
>> positive: "If a non-existing account is assigned it will be created". So
>> I expected that midPoint will recreate the account on the resource. What
>> are the correct settings to get such behavior?
>>
>> Best regards,
>> Wojciech Staszewski.
>>
>> _______________________________________________
>> midPoint mailing list
>> midPoint at lists.evolveum.com
>> http://lists.evolveum.com/mailman/listinfo/midpoint
>



More information about the midPoint mailing list