[midPoint-git] [Evolveum/midpoint] dc42c9: Consider reaped account as being "almost gone"

mederly noreply at github.com
Wed Sep 21 20:21:11 CEST 2022


  Branch: refs/heads/master
  Home:   https://github.com/Evolveum/midpoint
  Commit: dc42c96c015fff02d03db43bad9a3fcb659c200c
      https://github.com/Evolveum/midpoint/commit/dc42c96c015fff02d03db43bad9a3fcb659c200c
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2022-09-21 (Wed, 21 Sep 2022)

  Changed paths:
    M infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd
    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/LensProjectionContext.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/construction/EvaluatedAssignedResourceObjectConstructionImpl.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/ConsolidationProcessor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/ProjectionValuesProcessor.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-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
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/manual/TestSemiManualDisableSlowProposed.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/manual/TestSemiManualSlowProposed.java
    A model/model-intest/src/test/resources/manual/user-phoenix-2.xml
    M model/model-test/src/main/java/com/evolveum/midpoint/model/test/AbstractModelIntegrationTest.java
    M provisioning/provisioning-api/src/main/java/com/evolveum/midpoint/provisioning/api/ConstraintViolationConfirmer.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/ShadowCaretaker.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/AddHelper.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/DeleteHelper.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/RefreshHelper.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/SearchHelper.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/ShadowsFacade.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/StateHelper.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/errors/ObjectNotFoundHandler.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/manager/Helper.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/manager/ShadowManager.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/util/ProvisioningUtil.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:
  -----------
  Consider reaped account as being "almost gone"

Accounts in "reaping" lifecycle state were mostly treated like living
ones. However, this brings some problems when such an account is
re-created (see e.g. MID-8069): model tries to somehow revive such
account, leading to inconsistencies in its repository shadow.

This commit fixes the situation by introducing the following changes:

1. In clockwork, accounts in "reaping" state are considered just like
if they were gone. This means that when a new account for the object
type is to be created, a new projection context is allocated for it.
We no longer reuse the original context.

2. Accounts in this state have their primaryIdentifierValue cleared.
This allows us to create a "live" version of such account.

3. We ignore accounts being reaped during constraint violation checks
(just like we do for accounts that are gone).

4. Projection of accounts being reaped (in clockwork) is skipped.

This should resolve MID-8069.


  Commit: 3f9df989f0e88e5908dcb426fdbcfe2860f593ae
      https://github.com/Evolveum/midpoint/commit/3f9df989f0e88e5908dcb426fdbcfe2860f593ae
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2022-09-21 (Wed, 21 Sep 2022)

  Changed paths:
    R config/sql/generic-old/sqlserver-4.5-all.sql
    A config/sql/generic-old/sqlserver-4.6-all.sql

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/master'


Compare: https://github.com/Evolveum/midpoint/compare/9eb2bc95d0ef...3f9df989f0e8


More information about the midPoint-svn mailing list