[midPoint-git] [Evolveum/midpoint] 0a89ab: Make deletion-related recon. thresholds work

mederly noreply at github.com
Wed Aug 25 19:52:19 CEST 2021


  Branch: refs/heads/feature/thresholds
  Home:   https://github.com/Evolveum/midpoint
  Commit: 0a89ab6ace86eecfc27ea7afc026de0f4314311e
      https://github.com/Evolveum/midpoint/commit/0a89ab6ace86eecfc27ea7afc026de0f4314311e
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2021-08-25 (Wed, 25 Aug 2021)

  Changed paths:
    M infra/common/src/main/java/com/evolveum/midpoint/common/SynchronizationUtils.java
    M infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd
    M infra/schema/src/main/resources/xml/ns/public/common/common-tasks-3.xsd
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/executor/LinkUpdater.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/SynchronizationServiceImpl.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/tasks/recon/RemainingShadowsActivityExecutionSpecifics.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/ShadowFetchingPreprocessor.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/tasks/TestThresholds.java
    M model/model-intest/src/test/resources/tasks/thresholds/task-reconciliation-simulate-execute-single-thread.xml
    M model/model-intest/src/test/resources/tasks/thresholds/task-reconciliation-simulate-single-thread.xml
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/EntitlementConverter.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/ResourceObjectConverter.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/ResourceObjectLiveSyncChange.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resourceobjects/ResourceObjectReferenceResolver.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/GetHelper.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/errors/ObjectNotFoundHandler.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/definition/ActivityDefinition.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/definition/ActivityMonitoringDefinition.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/IterativeActivityExecution.java
    R repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/TaskExceptionHandlingUtil.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/task/GenericTaskHandler.java
    M repo/repo-sql-impl-test/src/test/java/com/evolveum/midpoint/repo/sql/ModifyTest.java
    M repo/task-api/src/main/java/com/evolveum/midpoint/task/api/ExecutionSupport.java
    M repo/task-api/src/main/java/com/evolveum/midpoint/task/api/TaskUtil.java

  Log Message:
  -----------
  Make deletion-related recon. thresholds work

1. In order to detect exceptions (like threshold violations) in the
"remaining shadows" reconciliation activity, its approach was changed:
instead of relying on built-in ObjectNotFoundHandler we do handling
of the missing objects ourselves. This ensures that any exceptions
are not buried under layers of OperationResult instances, so they
can be processed in ItemProcessingGatekeeper.

2. In order to skip handling ObjectNotFoundExceptions in GET operations,
experimental "Forced exception" error reporting mode
in GetOperationOptions was introduced. This disables
ObjectNotFoundHandler.

3. When throwing ObjectNotFoundException for a get shadow op, we try
to provide an OID. This is to allow the client to distinguish the
unavailability of the requested shadow from unrelated problems.

!!! BEHAVIOR CHANGES in points 4-5 !!!

4. Full synchronization timestamp is NOT set for simulation mode.
Only in execution mode. This also means that when fetching remaining
shadows in recon, we use fullSynchronizationTimestamp in execution mode,
and synchronizationTimestamp in all other modes.

5. Shadows for missing objects are NOT marked as tombstone
(dead/not-existing) in simulation or dry run mode. This is to avoid
loss of this information when it comes to the real execution.

Other changes:

6. Monitoring configuration is now tailorable for sub-activities.

Work in progress. Some tests may fail.




More information about the midPoint-svn mailing list