[midPoint-git] [Evolveum/midpoint] adf83e: Improve LiveSync error handling strategy

mederly noreply at github.com
Sat Oct 24 17:32:17 CEST 2020


  Branch: refs/heads/feature/mid-6417
  Home:   https://github.com/Evolveum/midpoint
  Commit: adf83e60c5f25759b857ccc8383df16d65955c88
      https://github.com/Evolveum/midpoint/commit/adf83e60c5f25759b857ccc8383df16d65955c88
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2020-10-24 (Sat, 24 Oct 2020)

  Changed paths:
    M icf-connectors/dummy-resource/src/main/java/com/evolveum/icf/dummy/resource/DummyResource.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/xml/XmlTypeConverter.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/constants/SchemaConstants.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/ObjectTypeUtil.java
    M infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd
    M infra/schema/src/main/resources/xml/ns/public/model/extension-3.xsd
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/trigger/ShadowReconcileTriggerHandler.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/AbstractEmptyModelIntegrationTest.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/sync/TestLiveSyncTaskMechanics.java
    A model/model-intest/src/test/resources/sync/resource-dummy-errors-source-precise.xml
    A model/model-intest/src/test/resources/sync/resource-dummy-errors-target.xml
    A model/model-intest/src/test/resources/sync/role-errors-target.xml
    A model/model-intest/src/test/resources/sync/task-errors-precise-ignore-partial-stop-on-fatal.xml
    A model/model-intest/src/test/resources/sync/task-errors-precise-ignore.xml
    A model/model-intest/src/test/resources/sync/task-errors-precise-retry-later-max-4.xml
    A model/model-intest/src/test/resources/sync/task-errors-precise-retry-later-on-any.xml
    A model/model-intest/src/test/resources/sync/task-errors-precise-stop-on-any.xml
    M model/model-test/src/main/java/com/evolveum/midpoint/model/test/AbstractModelIntegrationTest.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/ProvisioningServiceImpl.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/ResourceEventListenerImpl.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/ResourceObjectConverter.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/sync/AsyncUpdater.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/sync/ChangeProcessor.java
    A provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/sync/ErrorHandlingStrategyExecutor.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/sync/LiveSynchronizer.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/sync/ProcessChangeRequest.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/sync/SynchronizationOperationResult.java
    M provisioning/ucf-api/src/main/java/com/evolveum/midpoint/provisioning/ucf/api/Change.java
    R provisioning/ucf-api/src/main/java/com/evolveum/midpoint/provisioning/ucf/api/ChangeHandler.java
    M provisioning/ucf-api/src/main/java/com/evolveum/midpoint/provisioning/ucf/api/ConnectorInstance.java
    A provisioning/ucf-api/src/main/java/com/evolveum/midpoint/provisioning/ucf/api/LiveSyncChangeListener.java
    A provisioning/ucf-api/src/main/java/com/evolveum/midpoint/provisioning/ucf/api/async/AsyncChangeListener.java
    R provisioning/ucf-api/src/main/java/com/evolveum/midpoint/provisioning/ucf/api/async/ChangeListener.java
    M provisioning/ucf-api/src/main/java/com/evolveum/midpoint/provisioning/ucf/api/connectors/AbstractManualConnectorInstance.java
    M provisioning/ucf-impl-builtin/src/main/java/com/evolveum/midpoint/provisioning/ucf/impl/builtin/async/AsyncUpdateConnectorInstance.java
    M provisioning/ucf-impl-builtin/src/main/java/com/evolveum/midpoint/provisioning/ucf/impl/builtin/async/ConnectorListeningHelper.java
    M provisioning/ucf-impl-builtin/src/main/java/com/evolveum/midpoint/provisioning/ucf/impl/builtin/async/TransformationalAsyncUpdateMessageListener.java
    M provisioning/ucf-impl-connid/pom.xml
    M provisioning/ucf-impl-connid/src/main/java/com/evolveum/midpoint/provisioning/ucf/impl/connid/ConnectorInstanceConnIdImpl.java
    R provisioning/ucf-impl-connid/src/test/java/com/evolveum/midpoint/provisioning/ucf/impl/connid/CollectingChangeHandler.java
    A provisioning/ucf-impl-connid/src/test/java/com/evolveum/midpoint/provisioning/ucf/impl/connid/CollectingChangeListener.java
    M provisioning/ucf-impl-connid/src/test/java/com/evolveum/midpoint/provisioning/ucf/impl/connid/TestUcfDummy.java
    M provisioning/ucf-impl-connid/src/test/java/com/evolveum/midpoint/provisioning/ucf/impl/connid/TestUcfOpenDj.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/util/RepoCommonUtils.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/asserter/AbstractRoleAsserter.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/asserter/ExtensionAsserter.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/asserter/FocusAsserter.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/asserter/OrgAsserter.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/asserter/RoleAsserter.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/asserter/TaskAsserter.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/asserter/TriggerAsserter.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/asserter/UserAsserter.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/asserter/prism/PrismObjectAsserter.java

  Log Message:
  -----------
  Improve LiveSync error handling strategy

1. Implemented EXPERIMENTAL LiveSync error handling strategy.
It allows to specify when to stop, ignore, or "postpone" failed
objects; along with suspending the task after given # of errors.
This code should be eventually integrated with the thresholds
feature.

2. Implemented "shadow reconciliation" trigger handler that tries
to re-process failed shadows at specified time.

3. Change processor (for live sync, async updates, notify) now considers
IN_PROGRESS status as success. The reasoning behind this is that such
operations are done, and there is - in fact - nothing to retry from
the point of livesync or async update task. The delayed execution will
be done by consistency mechanism.

4. Change processor now does NOT apply partition error criticality
if no partition criticality is specified. (This used to reset all
errors to PARTIAL_ERROR in such cases.)

5. Cleaned up the terminology:
 - renamed some Change and ProcessChangeRequest members
 - renamed ChangeHandler to LiveSyncChangeListener (for the time being)
 - renamed ChangeListener to AsyncChangeListener

Related to MID-6417.


  Commit: c733bf4285fc5f1d342df9e807c08df893d05f72
      https://github.com/Evolveum/midpoint/commit/c733bf4285fc5f1d342df9e807c08df893d05f72
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2020-10-24 (Sat, 24 Oct 2020)

  Changed paths:
    M NEWS
    M README
    M README.md
    M RELEASE-NOTES
    M config/initial-objects/000-system-configuration.xml
    M config/initial-objects/030-role-superuser.xml
    M config/initial-objects/040-role-enduser.xml
    M config/initial-objects/041-role-approver.xml
    M config/initial-objects/042-role-reviewer.xml
    M config/initial-objects/043-role-delegator.xml
    M config/initial-objects/050-user-administrator.xml
    A config/initial-objects/060-archetype-report-dashboard.xml
    A config/initial-objects/061-archetype-report-collection.xml
    A config/initial-objects/080-report-audit.xml
    A config/initial-objects/090-report-audit-jasper.xml
    R config/initial-objects/090-report-audit.xml
    M config/initial-objects/100-report-reconciliation.xml
    M config/initial-objects/110-report-user-list.xml
    M config/initial-objects/130-report-certification-definitions.xml
    M config/initial-objects/140-report-certification-campaigns.xml
    M config/initial-objects/150-report-certification-cases.xml
    M config/initial-objects/160-report-certification-decisions.xml
    M config/initial-objects/200-lookup-languages.xml
    M config/initial-objects/210-lookup-locales.xml
    A config/initial-objects/255-object-collection-certification-definition-all.xml
    M config/initial-objects/260-object-collection-task-all.xml
    M config/initial-objects/270-object-collection-task-active.xml
    A config/initial-objects/284-object-collection-audit.xml
    A config/initial-objects/285-object-collection-audit-24h.xml
    A config/initial-objects/290-object-collection-audit-errors-24h.xml
    R config/initial-objects/290-object-collection-audit-errors.xml
    A config/initial-objects/300-object-collection-audit-modifications-24h.xml
    R config/initial-objects/300-object-collection-audit-modifications.xml
    M config/initial-objects/310-dashboard-admin.xml
    M config/initial-objects/504-archetype-task-live-sync.xml
    M config/initial-objects/507-archetype-task-report.xml
    A config/initial-objects/600-origin-internal.xml
    M custom/pom.xml
    M dist/javadoc/pom.xml
    M dist/midpoint-api/pom.xml
    M dist/pom.xml
    M gui/admin-gui/pom.xml
    M gui/pom.xml
    M icf-connectors/dummy-connector-fake/pom.xml
    M icf-connectors/dummy-connector/pom.xml
    M icf-connectors/dummy-resource/pom.xml
    M icf-connectors/pom.xml
    M infra/axiom/pom.xml
    M infra/common/pom.xml
    M infra/pom.xml
    M infra/prism-api/pom.xml
    M infra/prism-impl/pom.xml
    M infra/prism-maven-plugin/pom.xml
    M infra/schema-pure-jaxb/pom.xml
    M infra/schema/pom.xml
    M infra/test-util/pom.xml
    M infra/util/pom.xml
    M model/certification-api/pom.xml
    M model/certification-impl/pom.xml
    M model/model-api/pom.xml
    M model/model-common/pom.xml
    M model/model-impl/pom.xml
    M model/model-intest/pom.xml
    M model/model-test/pom.xml
    M model/notifications-api/pom.xml
    M model/notifications-impl/pom.xml
    M model/pom.xml
    M model/report-api/pom.xml
    M model/report-impl/pom.xml
    M model/rest-impl/pom.xml
    M model/workflow-api/pom.xml
    M model/workflow-impl/pom.xml
    M pom.xml
    M provisioning/pom.xml
    M provisioning/provisioning-api/pom.xml
    M provisioning/provisioning-impl/pom.xml
    M provisioning/ucf-api/pom.xml
    M provisioning/ucf-impl-builtin/pom.xml
    M provisioning/ucf-impl-connid/pom.xml
    M repo/audit-api/pom.xml
    M repo/audit-impl/pom.xml
    M repo/pom.xml
    M repo/repo-api/pom.xml
    M repo/repo-cache/pom.xml
    M repo/repo-common/pom.xml
    M repo/repo-sql-impl-test/pom.xml
    M repo/repo-sql-impl/pom.xml
    M repo/repo-test-util/pom.xml
    M repo/security-api/pom.xml
    M repo/security-enforcer-api/pom.xml
    M repo/security-enforcer-impl/pom.xml
    M repo/security-impl/pom.xml
    M repo/system-init/pom.xml
    M repo/task-api/pom.xml
    M repo/task-quartz-impl/pom.xml
    M testing/conntest/pom.xml
    M testing/longtest/pom.xml
    M testing/pom.xml
    M testing/rest/pom.xml
    M testing/schrodingertest/pom.xml
    M testing/story/pom.xml
    M tools/midpoint-war-layout/pom.xml
    M tools/ninja/pom.xml
    M tools/pom.xml
    M tools/schema-dist-maven-plugin/pom.xml
    M tools/schrodinger/pom.xml
    M tools/test-ng/pom.xml
    M tools/xjc-plugin/pom.xml

  Log Message:
  -----------
  Merge branch 'support-4.2' into feature/mid-6417


Compare: https://github.com/Evolveum/midpoint/compare/adf83e60c5f2%5E...c733bf4285fc


More information about the midPoint-svn mailing list