[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