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

mederly noreply at github.com
Thu Aug 26 10:01:10 CEST 2021


  Branch: refs/heads/master
  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.


  Commit: c8538334ea8e58a01a93d451598b573af3379fb1
      https://github.com/Evolveum/midpoint/commit/c8538334ea8e58a01a93d451598b573af3379fb1
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2021-08-25 (Wed, 25 Aug 2021)

  Changed paths:
    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/projector/policy/PolicyRuleCounterUpdater.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/resource-dummy-source.xml
    R model/model-intest/src/test/resources/tasks/thresholds/role-modify-5.xml
    A model/model-intest/src/test/resources/tasks/thresholds/role-modify-cost-center-5.xml
    A model/model-intest/src/test/resources/tasks/thresholds/role-modify-full-name-5.xml
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/asserter/ActivityStateAsserter.java
    M repo/task-api/src/main/java/com/evolveum/midpoint/task/api/ExecutionSupport.java

  Log Message:
  -----------
  Separate simulation and execution rule counters

For composite activities with shared policy rule counters (like
reconciliation) we need to keep counters for simulation
and execution modes separate, to avoid their interference.


  Commit: faaed42d829f492cb8dabf15266b36749415f431
      https://github.com/Evolveum/midpoint/commit/faaed42d829f492cb8dabf15266b36749415f431
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2021-08-25 (Wed, 25 Aug 2021)

  Changed paths:
    M model/model-impl/src/test/java/com/evolveum/midpoint/model/impl/lens/TestReconScript.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/errors/ObjectNotFoundHandler.java

  Log Message:
  -----------
  Fix tombstone marking in reconciliation

The remaining shadows reconciliation activity (after recent changes)
did not mark deleted shadows as tombstones. This is now fixed.


  Commit: a5c38c873c9efa08d33ca32d78b5fdff6e89fe0a
      https://github.com/Evolveum/midpoint/commit/a5c38c873c9efa08d33ca32d78b5fdff6e89fe0a
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2021-08-26 (Thu, 26 Aug 2021)

  Changed paths:
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/tasks/TestThresholds.java
    A model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/tasks/TestThresholdsMultiNode.java
    A model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/tasks/TestThresholdsSingleTask.java
    A model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/tasks/TestThresholdsSingleTaskMultipleThreads.java
    A model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/tasks/TestThresholdsSingleThread.java
    A model/model-intest/src/test/resources/tasks/thresholds/task-import-execute-multi.xml
    R model/model-intest/src/test/resources/tasks/thresholds/task-import-execute-single-thread.xml
    A model/model-intest/src/test/resources/tasks/thresholds/task-import-execute-single.xml
    A model/model-intest/src/test/resources/tasks/thresholds/task-import-simulate-execute-multi.xml
    R model/model-intest/src/test/resources/tasks/thresholds/task-import-simulate-execute-single-thread.xml
    A model/model-intest/src/test/resources/tasks/thresholds/task-import-simulate-execute-single.xml
    A model/model-intest/src/test/resources/tasks/thresholds/task-import-simulate-multi.xml
    R model/model-intest/src/test/resources/tasks/thresholds/task-import-simulate-single-thread.xml
    A model/model-intest/src/test/resources/tasks/thresholds/task-import-simulate-single.xml
    A model/model-intest/src/test/resources/tasks/thresholds/task-reconciliation-execute-multi.xml
    R model/model-intest/src/test/resources/tasks/thresholds/task-reconciliation-execute-single-thread.xml
    A model/model-intest/src/test/resources/tasks/thresholds/task-reconciliation-execute-single.xml
    A model/model-intest/src/test/resources/tasks/thresholds/task-reconciliation-simulate-execute-multi.xml
    R model/model-intest/src/test/resources/tasks/thresholds/task-reconciliation-simulate-execute-single-thread.xml
    A model/model-intest/src/test/resources/tasks/thresholds/task-reconciliation-simulate-execute-single.xml
    A model/model-intest/src/test/resources/tasks/thresholds/task-reconciliation-simulate-multi.xml
    R model/model-intest/src/test/resources/tasks/thresholds/task-reconciliation-simulate-single-thread.xml
    A model/model-intest/src/test/resources/tasks/thresholds/task-reconciliation-simulate-single.xml
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/state/ActivityState.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/state/CurrentActivityState.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/IterativeActivityExecution.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/AbstractIntegrationTest.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/asserter/ActivityCounterGroupAsserter.java

  Log Message:
  -----------
  Add multi-threaded and multi-node threshold tests

We also fix thresholds for multi-node simple activities (like import).


  Commit: 1e9d19bb12776528f598b92bd9e9fb87f6003555
      https://github.com/Evolveum/midpoint/commit/1e9d19bb12776528f598b92bd9e9fb87f6003555
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2021-08-26 (Thu, 26 Aug 2021)

  Changed paths:
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/tasks/recon/RemainingShadowsActivityExecutionSpecifics.java
    M model/model-intest/src/test/resources/sync/task-reconcile-dummy-single.xml

  Log Message:
  -----------
  Fix remaining shadows reconciliation

"Deleted" shadows that are sent from the remaining shadows activity
to the synchronization service did not have tombstone status, causing
the clockwork to re-link them to their owners. (This bug was introduced
in recent rework of the activity.)

This is now fixed.


  Commit: 26912cc9ae42c75e239eab93b35c76735fa40ad2
      https://github.com/Evolveum/midpoint/commit/26912cc9ae42c75e239eab93b35c76735fa40ad2
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2021-08-26 (Thu, 26 Aug 2021)

  Changed paths:
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/controller/DashboardServiceImpl.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/security/TestSecurityPrincipal.java
    M model/model-intest/testng-integration-sqale.xml
    M model/report-impl/src/main/java/com/evolveum/midpoint/report/impl/ReportFunctions.java
    M repo/audit-api/src/main/java/com/evolveum/midpoint/audit/api/AuditService.java
    M repo/audit-log-impl/src/main/java/com/evolveum/midpoint/audit/impl/LoggerAuditServiceImpl.java
    M repo/repo-sqale/sql/pgnew-repo-audit.sql
    M repo/repo-sqale/sql/pgnew-repo.sql
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/ExtUtils.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/ExtensionProcessor.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/SqaleRepositoryService.java
    A repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/audit/SqaleAuditService.java
    A repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/audit/qmodel/MAuditDelta.java
    A repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/audit/qmodel/MAuditEventRecord.java
    A repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/audit/qmodel/MAuditRefValue.java
    A repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/audit/qmodel/QAuditDelta.java
    A repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/audit/qmodel/QAuditDeltaMapping.java
    A repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/audit/qmodel/QAuditEventRecord.java
    A repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/audit/qmodel/QAuditEventRecordMapping.java
    A repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/audit/qmodel/QAuditRefValue.java
    A repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/audit/qmodel/QAuditRefValueMapping.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/mapping/SqaleTableMapping.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/qmodel/accesscert/QAccessCertificationCaseMapping.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/qmodel/ext/MExtItem.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/qmodel/object/QObjectMapping.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/qmodel/shadow/QShadowMapping.java
    M repo/repo-sqale/src/test/java/com/evolveum/midpoint/repo/sqale/func/SqaleRepoAddDeleteObjectTest.java
    M repo/repo-sqale/src/test/java/com/evolveum/midpoint/repo/sqale/func/SqaleRepoSearchTest.java
    M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/SqlAuditServiceImpl.java
    M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/audit/mapping/QAuditEventRecordMapping.java
    R repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/data/SelectQueryBuilder.java
    R repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/data/SingleSqlQuery.java
    R repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/data/SqlQuery.java
    M repo/repo-sqlbase/src/main/java/com/evolveum/midpoint/repo/sqlbase/RepositoryObjectParseResult.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/DummyAuditService.java
    M repo/system-init/src/main/java/com/evolveum/midpoint/init/AuditServiceProxy.java

  Log Message:
  -----------
  Merge branch 'master' into feature/thresholds


Compare: https://github.com/Evolveum/midpoint/compare/4b763b4a1743...26912cc9ae42


More information about the midPoint-svn mailing list