[midPoint-git] [Evolveum/midpoint] 86c464: Fix various problems in delayed shadow deletion

mederly noreply at github.com
Fri Sep 23 15:38:26 CEST 2022


  Branch: refs/heads/support-4.0-mid-8069
  Home:   https://github.com/Evolveum/midpoint
  Commit: 86c464a95d8cef260a7a76452bba09a99ff227f1
      https://github.com/Evolveum/midpoint/commit/86c464a95d8cef260a7a76452bba09a99ff227f1
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2022-09-23 (Fri, 23 Sep 2022)

  Changed paths:
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/delta/ItemDeltaCollectionsUtil.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/Construction.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/LensContext.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/LensElementContext.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/LensProjectionContext.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/LensUtil.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/ActivationProcessor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/ContextLoader.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/Projector.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/ShadowConstraintsChecker.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/AssignmentProcessor.java
    M model/model-impl/src/test/java/com/evolveum/midpoint/model/impl/util/mock/MockFactory.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/manual/AbstractManualResourceTest.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/manual/TestSemiManualDisable.java
    A model/model-intest/src/test/resources/manual/user-phoenix-2.xml
    M provisioning/provisioning-api/src/main/java/com/evolveum/midpoint/provisioning/api/ConstraintViolationConfirmer.java
    M provisioning/provisioning-api/src/main/java/com/evolveum/midpoint/provisioning/api/ProvisioningService.java
    A provisioning/provisioning-api/src/main/java/com/evolveum/midpoint/provisioning/api/ShadowState.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/ShadowCache.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/ShadowCaretaker.java
    R provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/ShadowState.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/errorhandling/ObjectNotFoundHandler.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadowmanager/ShadowDeltaComputer.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadowmanager/ShadowManager.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/util/ProvisioningUtil.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/dummy/TestDummyConsistency.java
    M provisioning/ucf-impl-builtin/src/main/java/com/evolveum/midpoint/provisioning/ucf/impl/builtin/ManualConnectorInstance.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/asserter/AbstractAsserter.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/asserter/UserAsserter.java

  Log Message:
  -----------
  Fix various problems in delayed shadow deletion

This commit re-implements a couple of earlier fixes made for 4.4 and 4.6
versions:
- dc42c96c015fff02d03db43bad9a3fcb659c200c
- faa835e627c36c6b165b798d13d0273c7198ec87
- 3780d62afe0d9011063ceebddbe3c93037528aaf

(The majority, but not all of them, though.)

The changes are:

1. Shadow lifecycle state is visible in LensProjectionContext.
(In a temporary way - an implementation different from 4.4.)
2. Reaped shadows are set to be "kept" (by ActivationProcessor).
3. Contexts with reaped shadows are not considered to be usable
when an account is to be created - i.e., a new projection context
is created in such situations.
4. Reaped accounts are treated specially also during context loading
(their linkRefs are not deleted, projections not marked as tombstone).
5. Projections for reaped accounts are not computed ("projected").
6. Reaped shadows are ignored during conflict checking.
7. PrimaryIdentifierValue index is cleared on entering "reaping"
state (and setting back again if the shadows goes back to live state).
8. ShadowManager.recordOperationException now updates the in-memory
version of the shadow.

Related to MID-8069.




More information about the midPoint-svn mailing list